jQuery从页面顶部获取元素偏移量

时间:2017-09-08 18:19:37

标签: jquery offset

我知道有offSet()。top;和位置()。顶部;

但它们都不适用于我的情况。我必须计算窗口顶部的距离,绝对位置的元素。这些方法的问题是它们返回偏移量,而不是从页面顶部返回,而是从包含绝对DIV的父元素返回。所以我需要跳过父容器并从页面顶部获得真正的偏移量。

一些想法?

由于

2 个答案:

答案 0 :(得分:0)

我的坏!

我是个白痴: - )

我混合了代码而没有更新我应该的内容。我最终使用了.offset()。top;它完全符合我的需要。

答案 1 :(得分:0)



<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>offset demo</title>
    <style>
        p {
            margin-left: 10px;
        }
    </style>
    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>

<body>

    <p>Hello</p>
    <p>2nd Paragraph</p>

    <script>
        var p = $("p:last");
        var offset = p.offset();
        p.html("left: " + offset.left + ", top: " + offset.top);
    </script>

</body>

</html>
&#13;
&#13;
&#13;

来自jQuery .offset() documentation

  

.offset()方法允许我们检索相对于文档的元素的当前位置(特别是其边界框,它排除边距)。将此与.position()进行对比,后者检索相对于偏移父项的当前位置。将新元素放置在现有元素之上进行全局操作时(特别是实现拖放),.offset()更有用。