停止jquery动画

时间:2014-04-01 16:04:57

标签: jquery animation jquery-animate diagonal

我遇到了jquery动画的问题。我的代码如下:

 if((valorscrollpx >= 800) && (valorscrollpx <= 1700))
  {
      $('#loquehacebien').fadeIn(600);
      $('#loquehacebien_estrella').animate({left: '-=500', top: '+=80'}, 1800);
  }
  else
  {
    $('#loquehacebien').fadeOut(600);
  }

问题是我不知道如何停止这个动画! 当滚动到达800 px时,动画开始和结束,但每次我移动时,滚动动画都会从它的位置再次开始。 我能做什么?。我只需要动画开始和结束一次。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果你只需要为星星设置一次动画,你可以使用这样的标志:

var flag = false; 

$(window).scroll(...);之外

并用

替换您的代码
if((valorscrollpx >= 800) && (valorscrollpx <= 1700) && !flag)   {
       $('#loquehacebien').fadeIn(600);       
       $('#loquehacebien_estrella').animate({left: '-=500', top: '+=80'}, 1800);
       flag = true;   
}   else   {     
       $('#loquehacebien').fadeOut(600);   
}