2016-10-05 377 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();}” –