我正在寻找一种基于jQuery的解决方案,每次通过鼠标滚轮/点击/触摸滚动触发设定量的div上/下。滚动事件的唯一问题是不止一次触发。什么是最好的方法,也适用于触摸屏设备?
答案 0 :(得分:0)
plugin在这里转到此插件,可能有帮助,不确定
答案 1 :(得分:0)
使用以下内容应该有效
var functionToCallAfterScrolling = function(){
//Do stuff here
}
$(window).scroll(functionToCallAfterScrolling);
如你所说的那样只发出函数被调用了太多时间。为了解决这个问题,我使用了undercorejs的去抖功能。
而不是像这样创建回调函数
var functionToCallAfterScrolling = function(){
//Do stuff here
}
改为创建它
var functionToCallAfterScrolling = _.debounce(function(){
//Do stuff here
}, 300);
这样做的例子是,如果函数在一个滚动中被触发400次,它只调用该函数 一次,在第400次之后无视第一次第399次。它等待300毫秒来触发回调函数。您可以根据自己的需要调整等待时间。
请记住,您必须包含underscorejs库。
如果您有时间,可以只提取库的一部分来提供此功能。
这两个链接的网址都是http://underscorejs.org/#debounce
和http://underscorejs.org/docs/underscore.html。
只需在第二个链接中搜索debounce即可进入该功能。
如果您需要更多解释,请告诉我