繁体   English   中英

如何确定元素相对于(grand ^ N)parent的位置

[英]How to determine elements position relative to (grand^N)parent

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

我需要知道B相对于A的定位,或更具体地说:B的左上角距每个A:s边界有多远。

请注意,A可以有一些父对象,并且可能有overflow:auto设置。

如果没有更好的方法,则可以访问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 = ?;

这达到了目的:

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)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM