我有元素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 = ?;
答案 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)
}