jQuery animate () - несколько селекторов и переменных, уникальный вызов animate () - PullRequest
3 голосов
/ 31 мая 2010

Я изменяю размер нескольких div в цикле с помощью animate () в jQuery. В то же время я перемещаю (свойство left, без изменения размера) div, в котором они содержатся.

Проблема в том, что несмотря на то, что они имеют одинаковую продолжительность, вызовы изменения размера анимации заканчиваются до вызова перемещения. Они не синхронизированы. Есть ли способ создать список селекторов и его свойств, а затем выполнить уникальный вызов animate ()?

Или есть ли альтернатива одновременной анимации?

Я видел, что есть свойство, которое называется step, которое происходит каждый раз, когда происходит цикл animate, но, опять же, каждый вызов animate () имеет свой собственный вызов step.

Заранее спасибо:)

Вот пример псевдокода, который требуется:

for(...){
    $(target_x).stop().animate({property_a:random_value, property_b:random_value}, {duration:300});
    }
$(container).stop().animate({property_z:random_value}, {duration:300});

Ответы [ 4 ]

1 голос
/ 17 июня 2010

Когда спрашивает что-то другое, но как-то связанное Я обнаружил, что не было никакого решения.

Лучший обходной путь - использовать функцию обратного вызова шага, как предложено здесь . Благодарю Ника Крэйвера за ссылку.

0 голосов
/ 04 июня 2010

Попробуйте изменить стоп () на .delay (400) * * тысяча один

0 голосов
/ 16 июня 2010

Посмотрите в очередь анимации и очереди. Цепочка соответственно.

0 голосов
/ 03 июня 2010

@ ozke: Пока что неясно предложить вам идею без подробного кода. Тем не менее, такой случай, когда синхронизация нескольких анимаций работает без сбоев, было бы лучше, если бы вы практически настраивали продолжительность анимации (пробная версия и тестирование), то есть медленнее внешней и внутренней анимации быстрее ...

...