2011-03-24 67 views
0

使用JQuery。每個函數()它同時在所有元素上運行。相反,我希望它是連續的。因此,在一個功能操作一旦完成第二等。等等。JQuery的每個函數如何強制連續運行

$('#fader').children().hide(); 

$('#fader').children().each(function(){ 

     $(this).fadeIn(2000,function(){ 
      $(this).delay(4000); 
      $(this).fadeOut(2000); 
     });  
    }); 

回答

1

你可以用這樣的遞歸函數做到這一點:

function fader(elm) { 
    elm.fadeIn(2000, function(){ 
    elm.delay(4000); 
    elm.fadeOut(2000, function() { 
     if (elm.next()) { 
     fader(elm.next()); 
     } 
    }); 
    }); 
} 

$('#fader').children().hide(); 

fader($('#fader').children(':first')); 
+0

輝煌。如何使其循環一次完成 – 2011-03-24 15:48:36

+0

setInterval(function(){fader($('#fader')。children(':first'));},1000); - 這將一遍又一遍地停頓1秒; – dioslaska 2011-03-24 16:12:37

+0

它去哪裏 – 2011-03-24 16:15:58