Mac OSでの「弾む」スクロール動作を防ぐために、絶対位置のボディ要素を使用しています。このように、スクロールされるウィンドウではなく、「バウンス」しないbody要素です。
ただし、scrollTop()の値は常に0になります。
body要素をどれだけスクロールしたかを知る必要があります。何か案は?
編集:Mac OS XFirefox13.0で動作するようです。ただし、Mac OS X Chrome 19にはありません。Webkitの問題のようですが、Safariも機能します。
Mac OSでの「弾む」スクロール動作を防ぐために、絶対位置のボディ要素を使用しています。このように、スクロールされるウィンドウではなく、「バウンス」しないbody要素です。
ただし、scrollTop()の値は常に0になります。
body要素をどれだけスクロールしたかを知る必要があります。何か案は?
編集:Mac OS XFirefox13.0で動作するようです。ただし、Mac OS X Chrome 19にはありません。Webkitの問題のようですが、Safariも機能します。
ラッパー <div>
を本体の中に直接配置し、他のすべてのコンテンツをそのラッパー内に配置できると思います。
例えば、
<body>
<div id="wrapper">
<!-- Content -->
</div>
</body>
次に、$('body')。scroll()で、$('body')。scrollTop()を見る代わりに、そのラッパーのオフセット位置を考慮することができます:$('#wrapper')。position() 。上
ここであなたのフィドルを変更しました:http://jsfiddle.net/bT9fV/1/
Chrome19では問題なく動作するようです
そのラッパーのオフセット位置は、基本的にscrollTop()と同じ情報を提供するため、これでは不十分な理由は考えられません。