我可以检测页面当前是否在移动设备中滚动?包括动量滚动?
基本上,我想运行一个函数,但前提是根本没有滚动,比如
if(!scrolling){
//do stuff
}
我可以检测页面当前是否在移动设备中滚动?包括动量滚动?
基本上,我想运行一个函数,但前提是根本没有滚动,比如
if(!scrolling){
//do stuff
}
var scrolling = false;
var endScrolling;
$(window).on("scroll", function() {
scrolling = true;
endScrolling = window.setTimeout(function() {
scrolling = false;
window.clearTimeout(endScrolling);
}, 20);
});
基本上这里发生的是:
1)当窗口开始滚动时,“滚动”设置为真
2) timeout 将在滚动执行后立即将滚动设置为 false,但是:
3) Mobile Safari 在滚动(包括动量)时不执行 setTimeout。因此,第一次执行只会在滚动真正结束时发生。