当我向下滚动到其位置时,我试图使一个框具有动画效果,但动画不会停止,该元素只是永远重复动画。 我使用的代码:
jQuery(document).scroll(function (e) {
var value = jQuery(this).scrollTop();
if (value = 600) {
jQuery( "body" ).addClass( "scroll" );
jQuery('#car1').animate({top: '+=50px'}, 2000);
}
});
最佳答案
单个 =
不是比较运算符。它实际上是为您的变量分配一个值。
话虽这么说,你的情况:
if (value = 600)
始终为真,因为 600
是一个真值。
尝试使用==
或===
。
对于动画一次,您可以使用您在正文上输入的类。只需反转你的两行并执行一个条件:
if(!jQuery("body").hasClass("scroll")) //Animate only if it haven't the class scroll
jQuery('#car1').animate({top: '+=50px'}, 2000);
jQuery( "body" ).addClass( "scroll" );
关于javascript - Jquery animate() 一次然后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21837278/