gpt4 book ai didi

javascript - 当您滚动更多时,JQuery 滚动事件会继续触发

转载 作者:太空宇宙 更新时间:2023-11-03 20:30:45 25 4
gpt4 key购买 nike

所以我有一个滚动事件,当用户滚动到网站上的某个点时会触发该事件。它会一直工作,直到你达到那个点并想继续滚动,然后它会随着每一个滚动而连续触发。我想开火一次,然后就不再开火了。

    $(window).on('scroll', function() {
var y_scroll_pos = window.pageYOffset;
var scroll_pos_test = 450; // set to whatever you want it to be

if(y_scroll_pos > scroll_pos_test) {
alert("hey you hit it");
}
});

我在下面设置了一个演示:

JSFiddle

最佳答案

当然,它会随着每次滚动而不断触发 - 您还没有删除滚动事件处理程序,如果用户继续向下滚动,if 条件对于后续滚动事件将继续为真。请注意,在用户到达页面的那一点之前 每次滚动时,处理程序也会触发,只是因为 if 而不会做任何值得注意的事情。

"I want to fire ONE time and then just not fire anymore."

显而易见的解决方案是调用 .off() method在不再需要时删除滚动处理程序:

$(window).on('scroll', function() {
var y_scroll_pos = window.pageYOffset;
var scroll_pos_test = 450; // set to whatever you want it to be

if(y_scroll_pos > scroll_pos_test) {
$(window).off('scroll'); // <--- add this
alert("hey you hit it");
}
});

关于javascript - 当您滚动更多时,JQuery 滚动事件会继续触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42603306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com