3

ページにスクロールバーのあるdivがあり、divスクロールが終了するとページスクロールが開始されます。これはどのブラウザーのデフォルトの動作でもありますが、div スクロールが終了したらページのスクロールを停止したいと考えています。私はこれを修正しました ここに私が作成したサンプルがありますfiddle .

ただし、上記のソリューションは Chrome、Firefox、IE9 で機能します。しかし、IE8では動作しません。

これに対する解決策を見つけたら教えてください。

ありがとう、ゴピ

4

1 に答える 1

0

Andrew が上で述べたように、@amustill (親要素のスクロールを防止しますか? ) によるこのデモを試しましたか?

デモ:

http://jsbin.com/ixura3/3/

JS:

$(function() {

  var toolbox = $('#toolbox'),
      height = toolbox.height(),
      scrollHeight = toolbox.get(0).scrollHeight;

  toolbox.bind('mousewheel', function(e, d) {
    if((this.scrollTop === (scrollHeight - height) && d < 0) || (this.scrollTop === 0 && d > 0)) {
      e.preventDefault();
    }
  });

});

HTML:

<div id="toolbox">
    Text that scrolls...
</div>

これには jQuery とjQuery Mousewheel Pluginが必要です。

于 2012-08-25T18:52:09.290 に答える