2010-11-18 3 views
0

Я пытаюсь запустить один эффект jQuery/анимацию за другим. Я попытался это:Общие сведения о запуске эффектов jQuery

$('#myDiv').animate({'left':'+=300'},1000).delay(2000).animate({'left':'-=300'},1000); 

EDIT:

Это фактически делает работы- только наклеивать ошибку с моей стороны. Цепные эффекты автоматически создает очередь, в соответствии с docs, который является тем, что мы хотим:

$('#foo').slideUp().fadeIn();

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

(Спасибо за помощь, не позволит мне удалить вопрос)

+0

Что он делает? –

+0

Ничего не происходит – Yarin

+1

Правильное понимание документов. То, что у вас есть, должно работать. Вот пример. http://jsbin.com/eladu3/ Есть ли шанс, что вы скопировали или вставляли код откуда-то? Иногда недействительные невидимые персонажи находят свой путь и нарушают код. – user113716

ответ

0

JQuery animate() имеет перезвонить параметр

с ним вы можете сделать это

$('#myDiv').animate({'left':'+=300'},1000, function() { 
    //Start Next Animation 
    $(this).animate({'left':'-=300'},1000, function() { 
    //Start Next animation 
    }); 
}) 
+1

Я знаю о обратных вызовах, но хочу привязать, а не к гнезду, и это также не обеспечивает простой способ задержек. – Yarin

0

Там это два способа сделать это: используя параметр callback для анимации и используя queues.

+0

очереди, что меня интересует, мои мои правки ... – Yarin

0

Вы установили position: absolute; (или relative, в зависимости от того, что вы хотите) на div? Если вы этого не сделали, то анимация left ничего не сделает. Вот рабочий пример: http://jsfiddle.net/vftNF/

+0

Сначала я думал о чем-то подобном, но вопрос гласит: «отдельные анимационные вызовы работают сами по себе» *. – user113716

+0

Хорошо, вы посмотрели пример? Это работает для меня, поэтому вы можете использовать это для сравнения с любым кодом, который у вас есть. –

+0

Ничего, я видел твой комментарий. Но обратите внимание, что вы можете сэкономить некоторую полосу пропускания/ввода, не помещая кавычки вокруг параметров: '{left: '+ = 300'}' –

Смежные вопросы