如何使用jQuery找到元素px顶部的垂直距离

pta*_*mzz 76 javascript jquery

如何使用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>
Run Code Online (Sandbox Code Playgroud)

例如,我想找到从页面顶部到li#test元素的垂直距离.

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

Rob*_*b W 158

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

$("li.test").offset().top
Run Code Online (Sandbox Code Playgroud)


the*_*tor 102

Rob W的答案是正确的 - 这将为您提供从整页顶部的偏移量.

如果要从可查看屏幕的顶部获取偏移量,则应执行以下操作:

var viewableOffset = $("#li.test").offset().top - $(window).scrollTop();
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!

  • 哈哈谢谢.这对谷歌搜索来说一直是一个有用的打击,我感到无聊,并想我会回答一些问题.在SO的姊妹网站ServerFault等待回答的时候,我大部分都在这里乱逛.我是一名长期的程序员和新手管理员.:) (2认同)