jquery按顺序动画,没有回调函数

时间:2011-08-02 22:59:57

标签: jquery

我想按顺序为不同的DIV制作动画。有没有办法强制JQuery在我的代码中间处理它的队列?类似的东西:

for (var i = 0; i < myHugeNumber; i++){

    var divName = '#Div' + i;
    $(divName).animate({"left": "-=50px"}, "slow");

    $.ProcessQueue() // Once finished animating, continue with FOR loop.
}

我完全知道你可以将一个回调传递给.animate函数,这可以通过一些递归的voodoo实现,但是这需要在我的代码中进行大量的重组。我是一个固执,顽固的人。是否有一种快速而肮脏的方法来强制JQuery即时处理其队列?

1 个答案:

答案 0 :(得分:0)

我知道这会使用回调,但代码似乎比for循环更简单。我以为我会把它扔出去。

var maxI = myHugeNumber;
var curI = 0;
startAnimation();

function startAnimation(){
   var id = '#Div' + curI;
   $(id).animate({'left': '-=50px'}, 'slow', function(){
      curI++;
      if(curI<maxI){
         startAnimation();
      }
   });
}