Вот еще несколько деталей - из-за некоторых странных ограничений с API YouTube я вынужден вытащить контейнер со страницы, чтобы создать впечатление о скрытии контейнера.
Я достигаю этого, используя этот класс:
.my_hide{
margin-left:-9999px;
position:fixed !important;
}
И используя методы JQuery $("player-list_container").removeClass("my_hide")
и $("player-list_container").addClass("my_hide")
для управления переключением.
Тем не менее, переключается внешний вид jaunty, и контейнер вскакивает после удаления класса. Я хочу, чтобы я мог плавно перейти из одного состояния в другое, и я не понимаю, как это сделать.
Такое поведение можно продемонстрировать здесь
Добавьте видео, введя и найдите что-нибудь, а затем нажмите кнопку воспроизведения, расположенную ниже. Вы должны соблюдать описанное поведение.
Я предполагаю, что вы "не можете"/"не хотите" вручную скрывать контейнер, но хотите изменить его положение, чтобы он находился за пределами страницы и выглядел скрытым.
В этом случае изменение свойства position, безусловно, даст вам прыжок вместо гладкого эффекта, поскольку это влияет на весь макет страницы (подробнее). Вместо этого вы можете изменить свою позицию, используя свойство CSS3 animation translate.
Вот демо, которое я закодировал, который делает именно то, что вы хотите. http://codepen.io/anon/pen/EgcIi
Кнопка "Click me" позволяет переключаться между снятием контейнера и страницей, и он делает это плавно. Вы также можете настроить время, необходимое для изменения положения контейнера. (На данный момент его 500 мс)
Я хочу, чтобы он выглядел так, что контейнер затухает в позиции, что означает, что мне нужно будет доставить контейнер в эту позицию, прежде чем использовать любую функцию анимации.
Тогда не бросайте элемент с страницы с помощью CSS. Оставьте его там, где он есть, и .hide()
его с помощью .hide()
. Затем .fadeIn()
его с помощью .fadeIn()
.
Вам нужно вручную определить размер контейнера, так как он не будет расширяться, чтобы содержать скрытый элемент.
На моем экране он просто появился. Im не 100% уверен, какой тип поп-эффекта вы хотите, но это говорит, посмотрите http://api.jquery.com/animate/
Я собирался составить пример, но на этой странице есть куча!
удачи!
PS: прокрутите вниз все примеры визуальной анимации. Вот пример кода:
$('#myBtn').click(function(){
$( '.ytv' ).fadeTo( "fast", Math.random() );
//add animation code here;
});
проверьте грубую скрипку. edit: heres пример: http://jsfiddle.net/somdow/Lef9n/2/
просто нажмите красную область справа от видео
Функция анимации в jQuery wll поможет вам