javascript - Jquery animate() 一次然后停止

标签 javascript jquery animation jquery-animate

当我向下滚动到其位置时,我试图使一个框具有动画效果,但动画不会停止,该元素只是永远重复动画。 我使用的代码:

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/

相关文章:

javascript - Jquery on expand,输入框不在标签旁边

javascript - 如何使用 javascript 为旧元素添加更多 20 px?

iphone - iPhone 中的翻页动画

java - 使用线程管理 Sprite 动画

jquery - 直观地计算页面加载的数量

javascript - Backbone.js 和 XSS/HTML 转义

javascript - 水平和垂直独占单选按钮

javascript - 在 setInterval 函数内使用 .call() 传递参数

javascript - C3 中的换行符通过 JavaScript 生成 SVG 图表

javascript - Uncaught ReferenceError : variable is not defined on onclick function Javascript