获取元素相对于其父元素的距离

时间:2012-07-04 17:58:51

标签: jquery

我想知道如何获得元素相对于它的父元素的距离/偏移/位置。

与jQuery的position()功能不同,它获取相对于父偏移位置的位置,我需要获得元素的(假设)稳定位置因为它距离包含/父元素的顶部的距离。

示例:

<div id="parent">
  <div id="pos1">Has a position of 0px from top of containing parent el.</div>
  <br style="height:20px;">
  <br style="height:20px;">
  <div id="pos2">Has a position of 40px from top of containing parent el.</div>
</div>

因此,无论父元素在文档中的位置如何,pos1pos2的位置都会报告相同,因为它们相对于父元素不会更改。 ..

这可能吗?

3 个答案:

答案 0 :(得分:39)

这应该这样做:

$('#pos1').offset().top - $('#pos1').parent().offset().top - $('#pos1').parent().scrollTop() 

答案 1 :(得分:5)

此代码适用于我。

var child_top = $("#parent_div").scrollTop() + $("#child_div").offset().top

答案 2 :(得分:0)

Parent.offset() - child.offset()?

使用jQuery offset()