我知道有offSet()。top;和位置()。顶部;
但它们都不适用于我的情况。我必须计算窗口顶部的距离,绝对位置的元素。这些方法的问题是它们返回偏移量,而不是从页面顶部返回,而是从包含绝对DIV的父元素返回。所以我需要跳过父容器并从页面顶部获得真正的偏移量。
一些想法?
由于
答案 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;
来自jQuery .offset()
documentation:
.offset()
方法允许我们检索相对于文档的元素的当前位置(特别是其边界框,它排除边距)。将此与.position()
进行对比,后者检索相对于偏移父项的当前位置。将新元素放置在现有元素之上进行全局操作时(特别是实现拖放),.offset()
更有用。