1

我在使用 jquery 动画时遇到问题。我的代码如下:

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

问题是我不知道如何停止这个动画!当滚动达到 800 像素时动画开始和结束,但每次我移动滚动动画都会从原来的位置重新开始。我能做些什么?。我只需要动画单独开始和结束 1 次。

谢谢!

4

1 回答 1

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);   
}
于 2014-04-01T17:03:21.743 回答