gpt4 book ai didi

javascript - jQuery - 滚动功能不断触发 : Only Once Please

转载 作者:数据小太阳 更新时间:2023-10-29 04:29:06 26 4
gpt4 key购买 nike

我有以下 jQuery 函数,它会在用户水平滚动超过 500 像素时触发 aTestEvent():

jQuery(document).scroll(function(){
if(jQuery(this).scrollLeft() >= 500){
aTestEvent();
}});

这里是问题所在:我只希望 aTestEvent() 被触发一次!但是,每次用户滚动回页面开头然后再次超过 500 像素时,aTestEvent() 都会再次触发。

我们如何调整上面的代码,以便当用户滚动超过 500 像素时仅在第一次时触发?

最佳答案

您可以使用onoff 方法:

$(document).on('scroll', function() {
if( $(this).scrollLeft() >= 500 ) {
$(document).off('scroll');
aTestEvent();
}
});

http://jsfiddle.net/3kacd/

请注意:此代码片段可以“关闭”特定页面上所有可用的滚动事件,但要仅滚动关闭预期的滚动处理程序而不干扰其他滚动处理程序,我们可以使用命名空间。命名空间与 CSS 类相似,因为它们不是分层的;只有一个名字需要匹配。

$(document).on('name1.scroll', function() {
if( $(this).scrollLeft() >= 500 ) {
$(document).off('name1.scroll');
aTestEvent();
}
});

http://jsfiddle.net/shekhardtu/3kacd/57/

关于javascript - jQuery - 滚动功能不断触发 : Only Once Please,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16782753/

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