jQuery -滚动功能保持触发:只有一次
jQuery - Scroll Function Keeps Triggering: Only Once Please
我有以下jQuery函数,当用户水平滚动超过500像素时触发aTestEvent()
:
jQuery(document).scroll(function(){
if(jQuery(this).scrollLeft() >= 500){
aTestEvent();
}});
这里的问题:我只希望aTestEvent()
被触发一次!然而,每次用户滚动回页面的开始,然后再次超过500像素,aTestEvent()
再次被触发。
我们如何调整上面的代码,使触发器只发生在第一次用户滚动超过500像素?
您可以使用on
和off
方法:
$(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/
相关文章:
- jQuery滚动功能只工作一次
- 当元素可见时,jQuery滚动函数会触发一次
- 如何检测滚动事件是否像在触摸设备上一样只触发一次
- JQuery定位:我可以滚动到正确的位置一次,但不能滚动两次
- 滚动播放视频,但只能播放一次
- 如何在用户滚动到页面底部时仅加载一次数据
- 滚动时加载更多 滚动速度时一次工作两次
- 如何阻止网页在到达底部后一次又一次地自动滚动
- 当您滚动到特定页面位置时,如何执行此操作,该功能将启动一次
- jQuery:使事件在滚动时只发生一次
- 我们可以使用 iscroller 一次滚动固定的 3 个列表项项目吗?
- 如何仅在每次单击可滚动(jquery工具)中的导航按钮时加载图像,而不是一次加载所有图像
- 对多个滚动事件执行一次操作并防止滚动
- 滚动时运行脚本,但只能运行一次
- 在滚动时没有获取新数据,而是在滚动时一次又一次地添加相同的 json 数据
- 在滚动时制作一次动画
- jQuery Tools 可滚动:屏幕上有 3 个项目,但一次滚动一个
- 图表.js饼图动画,在页面中的某个位置通过垂直滚动播放一次
- 猫头鹰旋转木马,一次滚动两个项目
- 如何一次滚动一个元素(以阻止自由滚动)