2016-10-05 383 views
0

我有一個循環的問題與此代碼:jQuery的動畫循環多個時間

<p style="position:relative;left:100px;opacity:0" class="bc1">hello</p> 

我要循環的動畫三種循環使用jQuery到:

  1. $('.bc1').animate({left: '0px',opacity:'1'},1000);
  2. 延遲10秒
  3. $('.bc1').animate({left: '100px',opacity:'0'},1000);
  4. 延遲1秒
  5. 然後再從1開始

我可以使它無限嗎?

我想:

var st=animateBac(); 
     var af=animateRev(); 
     st();   
     af(); 

,但它不是循環。

回答

0

試試這個:

var animationIsOn = true; 
var anim; 
anim = function(){ 
    $('.bc1').animate({left: '0px',opacity:'1'},1000); 
    setTimeout(function(){ 
     $('.bc1').animate({left: '100px',opacity:'0'},1000); 
     setTimeout(function(){ 
      if(animationIsOn){ 
       anim(); 
      } 
     },1000); 
    },10000); 
} 

編輯:對不起,沒有添加的延遲。

+0

它工作正常,但如果我想循環它只有3循環? –

+0

添加一個計數器,而不是animationIsOn = animationLoops = 0,並在內部如果您將「if(animationLoops <3){animationLoops + = 1; anim();}」 –