1

これに基づいて: http://reader-download.googlecode.com/svn/trunk/full-page-horizo​​ntal-scrolling.html私は一生IE 10で標準モードまたはQuirksモードで動作させることはできません。ここに jsFiddle がありますが、垂直方向にのみスクロールします: http://jsfiddle.net/dwsRC/1/

スクロール コードはサンプル サイトと 100% 同じです。他のスクロール サンプルを試しましたが、preventDefault は機能しません。jQuery を追加しても役に立ちません。

Visual Studio 2012 では、次のようになります。

JavaScript ランタイム エラー: オブジェクトはプロパティまたはメソッド 'preventDefault' をサポートしていません

HTML:

<div id="container">
    <div class="content c1">Hello, World!</div>
    <div class="content c2">Hello, World!</div>
    <div class="content c3">Hello, World!</div>
    <div class="content c1">Hello, World!</div>
    <div class="content c2">Hello, World!</div>
    <div class="content c3 last">Hello, World!</div>
</div>

CSS:

#container {
    height: 100%;
    width: 6000px;
    overflow: hidden;
}
.content {
    width: 895px;
    height: 675px;
    float:left;
    margin-right:50px;
}
.c1 {
    background-color: red;
}
.c2 {
    background-color: blue;
}
.c3 {
    background-color: green;
}

JS:

(function () {
    function scrollHorizontally(e) {
        e = window.event || e;
        var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
        document.body.scrollLeft -= (delta * 40); // Multiplied by 40
        e.preventDefault();
    }
    if (window.addEventListener) {
        // IE9, Chrome, Safari, Opera
        window.addEventListener("mousewheel", scrollHorizontally, false);
        // Firefox
        window.addEventListener("DOMMouseScroll", scrollHorizontally, false);
    } else {
        // IE 6/7/8
        window.attachEvent("onmousewheel", scrollHorizontally);
    }
})();
4

1 に答える 1

3

この回答で問題が解決し、IEエラーが解消され、水平スクロールが機能しました。

于 2013-09-06T00:50:09.320 に答える