我在同一个选择器上使用 $.position
,但我得到了不同的 top
值结果。
问题可能在于获取滚动 div 中选择器的位置。这就是我使用 $.position
的原因而不是 $.offset
, 但似乎我做错了什么。
你可以尝试在我的 fiddle 中多次点击文本“Get Position”: http://jsfiddle.net/FgftM/1/
一旦 div 滚动以查找选择器,再次单击“获取位置”应该不会执行任何操作,因为我已经在选择器位置上。
生成的 position
值显示在底部。
为了阐明页面的结构,这里有一个草图:
原始 fiddle : http://jsfiddle.net/BtZQE/16/
最佳答案
我相信您想要做的是在 #content
上设置 position: relative
。这样,位置
是相对于容器而不是整个页面计算的。
编辑:经过一番澄清后,您仍然需要 position: relative
但您还需要添加当前的 scrollTop
值:
var top = dest.top + $('#content').scrollTop();
关于javascript - $.position 在滚动 div 中为同一个选择器返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17324983/