Бесконечный вызов времени анимации не работает для всех элементов - PullRequest
0 голосов
/ 20 февраля 2012

Я пытаюсь запустить следующую анимацию для набора элементов 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, рандомизирует положение и fadesIn для бесконечной продолжительности анимации. К сожалению, все остальные 49 div являются статическими и не выполняют ту же функцию.

1 Ответ

1 голос
/ 20 февраля 2012

Согласно вашему комментарию, если droplets - это коллекция div s, вам нужно использовать each().$.each() повторяет массивы.Попробуйте и посмотрите, работает ли он.

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