1

我有很多不同的元素(b,c,d,e,f classes),但每个元素都有相同的东西—— 'a class'。如何制作一些动画quene,使它们按FIFO顺序(先进先出)一个接一个地制作动画?

回调正在为它疯狂,因为有很多元素,我无法估计什么时候 div 会被调用。

4

3 回答 3

1

鉴于您的动画都是相同的类型(动画左到 50)但在多个元素上完成,您可以这样做:

nextAnim( $('.a') );

function nextAnim(elems) {
    elems.eq(0).animate({'left':50}, function() {
             nextAnim( elems.slice(1) );  // slice off the first element
    });
}

工作小提琴

于 2013-03-28T18:23:31.813 回答
0

了解 jQuery Deferred.pipe()

如果您想学习新事物并以优雅的方式做事,您可以尝试使用延迟对象。

于 2013-03-28T18:28:26.517 回答
0

我用过

$('.a').filter(function(){ return $(this).is(':animated')}).length

知道是否有任何项目已经动画,并且只有在没有动画的情况下我才会触发动画

于 2013-03-28T19:49:42.530 回答