从溢出设置为滚动的绝对定位元素获取scrolltop值

时间:2012-06-15 05:16:17

标签: jquery scroll css-position scrolltop

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

但是现在scrollTop()值始终为0.

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

http://jsfiddle.net/hbJWn/

编辑:它似乎适用于Mac OS X Firefox 13.0。 但是在Mac OS X Chrome 19中却没有。似乎是一个webkit问题,Safari也是最重要的工作。

1 个答案:

答案 0 :(得分:2)

我想您可以将包装 <div>直接放在正文中,并将所有其他内容放在包装内。

例如,

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

然后,在$('body')。scroll()上,而不是查看$('body')。scrollTop(),你可以考虑该包装器的偏移位置:$('#wrapper')。位置()。顶部

我在这里修改了你的小提琴:http://jsfiddle.net/bT9fV/1/

似乎在Chrome 19中正常工作

该包装器的偏移位置将为您提供与scrollTop()基本相同的信息,因此我无法想到这是不够的原因。