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