Как заставить анимации jQuery запускаться одновременно? - PullRequest
6 голосов
/ 19 июля 2010

У меня есть веб-страница с анимациями ( JQuery Animation ) повсюду. Типичная последовательность анимации может содержать три или четыре объекта, которые анимируются независимо одновременно. Проблема, с которой я сталкиваюсь, заключается в том, что очереди анимаций не предсказуемы. Некоторые анимации запускаются одновременно, а некоторые нет.

Я делаю что-то вроде

   setTimeout(function(){
       //animations
    }, delay);

во многих местах просто для того, чтобы попробовать сгруппировать анимацию. Даже при использовании этого некоторые анимации внутри блока кода не работают одновременно.

Есть ли способ заставить анимацию запускаться одновременно? Есть ли способ заполнить очередь анимациями, а затем выполнить их одновременно? Есть ли исчерпывающая документация о том, как эта штука на самом деле работает?

РЕДАКТИРОВАТЬ: Пример кода Предупреждение: код грязный

Вопрос в том, как посмотреть код. Как узнать, какая из анимаций будет работать одновременно?

Ответы [ 2 ]

8 голосов
/ 19 июля 2010

Этот запуск выполняется одновременно (но не в том случае, если на объекте уже есть текущая анимация):

 $('.blabla .2').animate({opacity: 0.3, fontSize: 20}, 800);

И если вы хотите быть на 100% уверены, что он анимирован сразу (обратите внимание на очередь: false):

$('.blabla .1').animate({fontSize: 20},{queue:false,duration:800});

Вы также можете сделать это. (Он все равно будет работать одновременно)

$('.blabla .1')
   .animate({fontSize: 20},{queue:false,duration:800})
   .animate({opacity: 0.4},{queue:false,duration:800});

Это работает один за другим.

$('.blabla .1').animate({opacity: 0.3}, 800).animate({fontSize: 20}, 800);

Так же, как это

$('.blabla .2').animate({opacity: 0.3}, 800, function() {
    $('.blabla .3').animate({opacity: 0.3}, 800);
});

Надеюсь, это ответит на ваш вопрос.

Извините за все правки, я новичок здесь.

0 голосов
/ 19 июля 2010

Используйте опцию step. Вы даете ему функцию, и после каждого шага текущей анимации она выполняет эту функцию. Таким образом, вы можете оживить там. Ссылка на документы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...