了解jQuery效果排队

时间:2010-11-18 18:18:29

标签: jquery jquery-animate effects

我正在尝试让一个jQuery效果/动画一个接一个地运行。我试过这个:

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

修改

这实际上确实有效 - 这只是我的错误。链接效果会根据docs自动创建一个队列,这就是我们想要的:

  

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

     

执行此语句时,   元素开始滑动动画   立刻,但渐渐过渡   被放置在要调用的fx队列上   只有滑动过渡一次   完整。

(感谢您的帮助,不会让我删除这个问题)

3 个答案:

答案 0 :(得分:0)

jQuery animate()有一个回调参数

用它你可以做到这一点

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

答案 1 :(得分:0)

有两种方法可以执行此操作:使用callback参数设置动画,然后使用queues

答案 2 :(得分:0)

您是否在div上设置了position: absolute;(或relative,具体取决于您的需求)?如果你没有,那么动画left将不会做任何事情。这是一个有效的例子:http://jsfiddle.net/vftNF/