如何使用jQuery从一个元素的px顶部find垂直距离

我如何find从页面顶部的垂直距离到使用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> 

例如在这里,我想find从页面顶部到li#test元素的垂直距离。

我试过.scrollTop()但它总是为0!

使用.offset()来获取元素和文档顶部之间的距离:

 $("li.test").offset().top 

罗布W的答案是正确的 – 这将给你从整个页面的顶部的偏移量。

如果你想获得可视屏幕顶部的偏移量,你应该这样做:

 var viewableOffset = $("#li.test").offset().top - $(window).scrollTop(); 

希望有所帮助!

据我所知.offset()获取当前滚动位置和文档顶部之间的距离。

你需要使用这个: $("li.test").position().top

使用$(element).offset()。top并在页面上添加现有固定元素的高度,使其更加准确。