水平滚动崩溃
Horizontal scrolling crashes
此 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,它不能正常工作(三卷后崩溃)。
为什么会这样?如何纠正?
这是一个非常有趣的问题!它实际上适用于 FF,但正如你所说,它在 Chrome 上停止工作。我调查了一下,发现了这个:
1) 它没有崩溃,只是监听器不存在了
2) 它不需要三个滚动,您需要做的就是滚动到 window 的视口(或可见框架)之外以使侦听器停止工作。好像addEventListener只作用于frame的可见区域
抱歉,我无法回答您的问题,但也许我的发现可以帮助您。 (也许这只是 Chrome 中的一个错误?)
此 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,它不能正常工作(三卷后崩溃)。
为什么会这样?如何纠正?
这是一个非常有趣的问题!它实际上适用于 FF,但正如你所说,它在 Chrome 上停止工作。我调查了一下,发现了这个:
1) 它没有崩溃,只是监听器不存在了
2) 它不需要三个滚动,您需要做的就是滚动到 window 的视口(或可见框架)之外以使侦听器停止工作。好像addEventListener只作用于frame的可见区域
抱歉,我无法回答您的问题,但也许我的发现可以帮助您。 (也许这只是 Chrome 中的一个错误?)