2

我正在尝试使滚轮水平滚动页面。像 Windows 8 Metro 界面和新的 myspace 网站。

我只是无法让它在 Internet Explorer (10) 中工作。我的 JSFiddle:http: //jsfiddle.net/88dRJ/4/

我已经尝试删除溢出以使滚动条可见。微软在他们的 doScroll 文档中声明它不适用于隐藏的滚动条。我更喜欢隐藏的滚动条。

Javascript

var mouseWheelEvt = function (e) {
    var event = e || window.event;
    if (document.body.doScroll) {
        document.body.doScroll(event.wheelDelta > 0 ? "left" : "right");
    } else if ((event.wheelDelta || event.detail) > 0) {
        document.body.scrollLeft -= event.wheelDelta || 120;
    } else {
        document.body.scrollLeft -= event.wheelDelta || -120;
    }
    return false;
};
document.addEventListener("mousewheel", mouseWheelEvt);
document.addEventListener("DOMMouseScroll", mouseWheelEvt);

编辑:为了澄清我更喜欢没有 jquery 或其他库的解决方案。

4

1 回答 1

2

对于 IE,您需要使用document.documentElement而不是document.body访问/修改scrollLeftscrollTop

document.documentElement.scrollLeft -= event.wheelDelta || 120;

于 2013-02-15T16:33:06.193 回答