我正在尝试为一组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淡入淡出,随机放置位置并淡入淡出无限的动画持续时间。可悲的是,所有其他49个div都是静态的,没有执行相同的功能。

最佳答案

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

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

09-13 01:05