为什么禁用功能不起作用?
没有stop()
功能,它运行良好,但动画落后于400的动画,而stop()
滚动未被禁用。
如果我快速滚动滚轮,则动画停止,当我停止滚轮时,动画开始。
这是我的网页链接http://web.100mb.ro/tutti/
$("#section-five").bind('mousewheel', function(event) {
if (event.originalEvent.wheelDelta <= 0) {
}
else {
disable_scroll();
$('html, body').stop().animate({
scrollTop: $("#section-four").offset().top
}, 400,'swing',function(){
enable_scroll();
});
}
});
var keys = [37, 38, 39, 40];
function preventDefault(e) {
e = e || window.eevnt;
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
}
function keydown(e) {
for (var i = keys.length; i--;) {
if (e.keyCode === keys[i]) {
preventDefault(e);
return;
}
}
}
function wheel(e) {
preventDefault(e);
}
function disable_scroll() {
if (window.addEventListener) {
window.addEventListener('DOMMouseScroll', wheel, false);
}
window.onmousewheel = document.onmousewheel = wheel;
document.onkeydown = keydown;
}
function enable_scroll() {
if (window.removeEventListener) {
window.removeEventListener('DOMMouseScroll', wheel, false);
}
window.onmousewheel = document.onmousewheel = document.onkeydown = null;
}
答案 0 :(得分:0)
您的disable_scroll
函数似乎正在添加滚动事件侦听器,而您的enable_scroll
函数会删除它。