嗨,伙计们,我正在这个脚本上使用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;
}
});