我正在创建动态滚动页面,我决定使用wheel
事件来检测用户的滚动。您可能知道此事件具有动态更新的deltaY
参数(一次滚动可多次)。我希望脚本在true
大于100时返回deltaY
。但是它会一遍又一遍地更新,导致我的功能拍摄几次。有没有办法烘烤(能够改变一次)这个true
值?
window.addEventListener('wheel', func)
function func(event){
if(event.deltaY>100){
var p = document.createElement('p');
var text = document.createTextNode("You scrolled over 100");
p.appendChild(text);
document.body.insertBefore(p, document.getElementsByTagName('p')[0]);
}
}

<p>Scroll the page down \/ and keep scrolling</p>
&#13;
答案 0 :(得分:1)
添加元素后,您可以删除侦听器。这样功能就不会继续发射。
window.addEventListener('wheel', func)
function func(event){
if(event.deltaY>100){
var p = document.createElement('p');
var text = document.createTextNode("You scrolled over 100");
p.appendChild(text);
document.body.insertBefore(p, document.getElementsByTagName('p')[0]);
window.removeEventListener('wheel',func);
}
}
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener