2010-05-31 2 views
3

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

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

Или, есть ли альтернатива, чтобы сделать несколько анимаций одновременно?

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

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

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

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

Можете ли вы показать свой код. Как вы изменяете размер и перемещаете элементы? Я немного смущен, потому что анимат способен сразу менять сразу несколько свойств. Возможно, вам нужно перечитать документы: http://api.jquery.com/animate/ –

+0

Не могли бы вы опубликовать код, чтобы мы могли увидеть, есть ли с ним какие-либо проблемы? Если они имеют такую ​​же продолжительность, я не понимаю, почему они будут заметно не синхронизированы. – Tesserex

+0

Я только что опубликовал некоторый псевдокод, чтобы вы поняли эту идею. Спасибо за вашу помощь :) – ozke

ответ

0

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

+0

Но при испытании/тестировании он будет работать в зависимости от браузера. Не так ли? – ozke

+0

nope cause u r страдает проблема времени и время r независимый браузер –

0

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

+0

Это не сработало. :( – ozke

0

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

+0

Нет очереди создавать последовательность? Потому что я хочу oposite. Добавить много анимаций и играть их все сразу. – ozke