我试图在任何滚动事件中滚动一个页面,但是当我们在my example中使用鼠标滚轮时会触发多个滚动事件。
我想一次滚动一个屏幕,当鼠标或键盘用于滚动时,鼠标滚轮滚动多次触发如下事件
window.onscroll = function (e) {
e.preventDefault();}
答案 0 :(得分:1)
您可以使用setTimeout
检测滚动事件的结束,然后运行您的代码,如下所示。
var t;
addEventListener('scroll', scrollEndFunc)
function scrollEndFunc(e) {
clearTimeout(t);
t = setTimeout(function(){
//todo stuff
}, 600) // wait untill 600ms, if no scroll then
// execute actual function else cancel it.
}
以下是编辑到codepen