如何使用javascript / jQuery找到从页面顶部到DOM中元素所在位置的垂直距离?
我喜欢
<ul>
<li>one</li>
<li>one</li>
<li>one</li>
<li>one</li>
<li class="test">one</li>
....
....
....
<li>one</li>
</ul>
例如,我想找到从页面顶部到li#test
元素的垂直距离。
我试过.scrollTop()
,但它总是为0!
答案 0 :(得分:154)
使用.offset()
获取元素与文档顶部之间的距离:
$("li.test").offset().top
答案 1 :(得分:98)
Rob W的答案是正确的 - 这将为您提供从整页顶部的偏移量。
如果您想从可视屏幕的顶部获取偏移量,您应该这样做:
var viewableOffset = $("#li.test").offset().top - $(window).scrollTop();
希望有所帮助!
答案 2 :(得分:3)
据我所知.offset()
获取当前滚动位置与文档顶部之间的距离。
你需要使用它:$("li.test").position().top
答案 3 :(得分:0)
使用$(element).offset()。top并在页面上添加现有固定元素的高度以使其更准确。