2

jQuery マウスホイール プラグインを使用して、ブラウザーが上下のスクロールを左右として認識できるようにしています。コードは簡単です:

$('body').bind('mousewheel', function(event, delta) {
     this.scrollLeft -= (delta * 5);
});

水平スクロール ページでこの機能をテストできます: http://jsfiddle.net/Ema2B/13/

これはクロムでうまく機能します。下にスクロールすると、コンテンツ ペインが右にスクロールします。これをFirefoxに持ち込むと、機能しません。いくつかのテストを実行したところ、firefox は正しいデルタ値を認識していますが、何らかの理由でscrollLeftを理解していません。これを確認するための簡単なテストを設定しました。

$("a.logo").on("click", function(){
      $(body).scrollLeft(300);
});

繰り返しますが、これはクロムではうまく機能しますが、Firefox では機能しません。firefox が scrollLeft を許可しないのはなぜですか?

: スクロールバーを無効にするために、本文に Overflow:hidden が設定されています。クロムとファイアフォックスでフィドルをテストして確認してください。

4

1 に答える 1

8

Firefox で動作させるには、セレクターに body に加えて $(“html”) が必要です。以下のスニペットを参照してください。

$("html, body").mousewheel(function(event, delta) {
    this.scrollLeft -= (delta * 30);
});
于 2013-08-01T21:46:08.713 に答える