1

Mac OSでの「弾む」スクロール動作を防ぐために、絶対位置のボディ要素を使用しています。このように、スクロールされるウィンドウではなく、「バウンス」しないbody要素です。

ただし、scrollTop()の値は常に0になります。

body要素をどれだけスクロールしたかを知る必要があります。何か案は?

http://jsfiddle.net/hbJWn/

編集:Mac OS XFirefox13.0で動作するようです。ただし、Mac OS X Chrome 19にはありません。Webkitの問題のようですが、Safariも機能します。

4

1 に答える 1

2

ラッパー <div>を本体の中に直接配置し、他のすべてのコンテンツをそのラッパーに配置できると思います。

例えば、

<body>
  <div id="wrapper">
     <!-- Content -->
  </div>
</body>

次に、$('body')。scroll()で、$('body')。scrollTop()を見る代わりに、そのラッパーのオフセット位置を考慮することができます:$('#wrapper')。position() 。上

ここであなたのフィドルを変更しました:http://jsfiddle.net/bT9fV/1/

Chrome19では問題なく動作するようです

そのラッパーのオフセット位置は、基本的にscrollTop()と同じ情報を提供するため、これでは不十分な理由は考えられません。

于 2012-06-15T06:17:13.080 に答える