scrollLeft无法在Internet Explorer中工作

时间:2013-02-15 16:13:06

标签: javascript html scroll

我正在尝试使滚轮滚动页面水平。喜欢windows 8 metro界面和新的myspace网站。

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

我已经尝试删除溢出以使滚动条可见。 Microsoft在其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或其他库的解决方案。

1 个答案:

答案 0 :(得分:2)

对于IE,您需要使用document.documentElement代替document.body来访问/修改scrollLeftscrollTop

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