如何确定相对于(grand ^ N)父

时间:2015-07-22 10:49:44

标签: javascript jquery html

我有元素A和B. B可以是A的直接子节点,也可以是它们之间可以有0到N个元素。

我需要知道B相对于A的位置,或者更具体地说:B的左上角与A:s的每个边界的距离。

请注意,A可能有一些父级,可能有溢出:自动设置。

如果没有更好的方法,可以访问B和A之间的每个父母。

我也可以将A:s的父母重复到< body>。

编辑:示例:

<div class="a">
    <div>
      foobar
      <div class="b">
      </div>
    </div>
</div>

var a = $(".a");
var b = $(".b");

var bTopLeftDistanceToATopBound = ?;
var bTopLeftDistanceToABottomBound = ?;
var bTopLeftDistanceToARightBound = ?;
var bTopLeftDistanceToALeftBound = ?;

1 个答案:

答案 0 :(得分:0)

这就是诀窍:

return {
    top: b.offset().top-a.offset().top,
    bottom: a.height()-
        (b.offset().top-a.offset().top),
    left: b.offset().left-a.offset().left,
    right: a.width()-
        (b.offset().left-a.offset().left)
}