动画时间的无限调用不适用于“所有”元素

时间:2012-02-20 08:07:26

标签: jquery css animation recursion infinite

我正在尝试为一组div元素运行以下动画(假设为50),但是,$.each()函数仅适用于数组中的第一个元素。

$.each(droplets, function(){
splashVanish(this);
 }); 



  function splashVanish(droplet) {
   droplet.fadeOut(500, function(){
     droplet.css({'top':Math.random()*600+'px','left':Math.random()*1400+'px'});
     droplet.remove();
     $("body").append(droplet);
             //recursive call for infinite animation time
     droplet.fadeIn(500,function(){splashVanish(droplet)}); 
   });
 } 

当上面的代码运行时,只有数组中的第一个div为fadesOut,随机化position和fadesIn以获得无限的动画持续时间。遗憾的是,所有其他49个div都是静态的,并且没有执行相同的功能。

1 个答案:

答案 0 :(得分:1)

根据您的评论,如果dropletsdiv的集合,则需要使用each()$.each()迭代数组。试试这个,看它是否有效。

droplets.each(function(){
    splashVanish($(this));
});