1

我正在使用绝对定位的 body 元素来防止 mac os 中的“有弹性”滚动行为。这样,它不是滚动的窗口,而是不“反弹”的主体元素。

但现在 scrollTop() 值始终为 0。

我需要知道我滚动了多少 body 元素。有任何想法吗?

http://jsfiddle.net/hbJWn/

编辑:它似乎适用于 Mac OS X Firefox 13.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/

在 Chrome 19 中似乎可以正常工作

该包装器的偏移位置将为您提供与 scrollTop() 基本相同的信息,所以我想不出这还不够的原因。

于 2012-06-15T06:17:13.080 回答