此 JavaScript - 代码通过常规滚轮滚动在页面上提供简单且几乎跨浏览器的水平滚动:
var wheel = ("onwheel" in document)? "wheel" : ("onmousewheel" in document)? "onmousewheel" : undefined;
document.addEventListener(wheel, onWheel);
function onWheel(e) {
e = e || window.event;
var ammount = Math.round(e.deltaY) || Math.round(e.detail);
window.scrollBy(ammount, 0);
}
你可以see for yourself on jsfiddle.net,它工作不正常(三次滚动后崩溃) 为什么会这样?如何纠正?
答案 0 :(得分:2)
这是一个非常有趣的问题!它实际上适用于FF,但正如你所说,它停止在Chrome上工作。我调查了一下,发现了这个:
1)它没有崩溃,听众就不再有了
2)它不需要三个滚动,你需要做的就是滚动窗口的视口(或可见帧)以使监听器停止工作。就像addEventListener只适用于框架的可见区域。
很抱歉,我对您的问题没有答案,但也许我的调查结果可以帮助您。 (也许这只是Chrome中的一个错误?)