嗨,伙计们,我正在这个脚本上使用scroll函数,但每次用户滚动时它都会触发。我希望它只在用户向下滚动到#ror时触发一次。我试着使用fired变量来检查它是否已经被触发,但这似乎不起作用。我知道以前有人回答过这个问题,但我就是从这里得到被解雇的解决方案的,不能让它只工作一次。有人认为他们能帮忙吗?

$( window  ).scroll(function() {
var fired = 0;
    console.log(fired);
    if(fired == 0){
    $('#ror').html('');
    $('#ror').goalProgress({
     goalAmount: 100,
     currentAmount: 75,
     textBefore: 'progress bar',
     textAfter: '',
     offset: 10,
     });
     fired=1;
   }
});

最佳答案

您需要将激发的变量移到scroll函数之外。
现在,您正在重新初始化fired变量,并在每次触发scroll事件时将其设置为0

var fired = 0;
$(window).scroll(function() {
    console.log(fired);
    if(fired == 0){
    $('#ror').html('');
    $('#ror').goalProgress({
     goalAmount: 100,
     currentAmount: 75,
     textBefore: 'progress bar',
     textAfter: '',
     offset: 10,
     });
     fired=1;
   }
});

09-10 19:08