要切入追逐 - 我有一个页面,如果你向上或向下滚动它会自动移动到下一个div位置。当你滚动时,它会选择滚动事件并暂时禁用它,以便一次只允许一个滚动,这样就不会跳转页面。
我正在使用jquery mousewheel插件来接收滚动事件
我正在使用此代码:
$('body').mousewheel(function(event, delta) {
if(delta < 0 && page < 3){
page++;
scrollToPage(true);
}else if(delta > 0 && page > 0){
page--;
scrollToPage(true);
}
});
现在的问题是,在滚动事件中它几乎立即注册了eventlistener十几次,我只希望它为每次滚动推送注册一次。
所以我试过这个:
var allowScroll = true;
$('body').mousewheel(function(event, delta) {
if(allowScroll == true){
allowScroll = false;
if(delta < 0 && page < 3){
page++;
scrollToPage(true);
}else if(delta > 0 && page > 0){
page--;
scrollToPage(true);
}
}
});
现在,如果使用鼠标滚动,这会很有效,但如果使用跟踪板滚动,则会过快地注册事件,并且在allowScroll变为false之前会运行两次。
我也尝试过使用
$.off()
功能..也没有用。
任何指导? 感谢