2011-10-22 6 views
1

이 함수는 각 함수 내부의 각 애니메이션을 지연 시키길 원합니다. 그것은 하나가됩니다. 현재 그들은 모두 함께합니다.각 함수 내부의 JQuery 큐/지연()

$('.bounceholder ul:eq(' + bounceholder + ') li').each(function(){ 
      $(this).delay(1000).animate({left: bounceoffset, top:-8, opacity:0.6, leaveTransforms:true}, {duration:600, queue:true}); 
      bounceoffset += 160; 
     }); 

답변

3

당신이 첫 번째 인수로 카운터/인덱스 받아 들일 수 each에 전달 블록/기능 :

$('.bounceholder ul:eq(' + bounceholder + ') li').each(function(i){ 
    delay = (i + 1) * 1000 
    $(this).delay(delay).animate({left: bounceoffset, top:-8, opacity:0.6, leaveTransforms:true}, {duration:600, queue:true}); 
    bounceoffset += 160; 
}); 
0
function DoAnimation(items, delay, bounceOffSet) { 
    $(items[0]).animate({left: bounceoffset, top:-8, opacity:0.6, leaveTransforms:true}, {duration:600, queue:true}) 
     .delay(delay) 
     .promise() 
     .done(function() { 
      items.splice(0, 1); 
      if (items.length > 0) 
      { 
       DoAnimation(items, delay, bounceOffSet + 160);  
      }    
    });  
} 

var items = $('.bounceholder ul:eq(' + bounceholder + ') li'); 

DoAnimation(items, 1000, 0);