Javascript 获取每个offsetParent或总offSetTop和总offSetLeft

Javascript 获取每个offsetParent或总offSetTop和总offSetLeft,javascript,jquery,offset,offsetof,Javascript,Jquery,Offset,Offsetof,我想得到一个子元素的总偏移量和总偏移量,这个子元素有很多级别的父元素,并且可能是相加的 除了以手动方式逐个添加之外,这还有什么速记方法吗?使用jQuery:$(node).offset()然后.top和。left在不使用jQuery的情况下提供答案: var a = Element, b = 0, c = 0; while (a) { b += a.offsetLeft; c += a.offsetTop; a = a.offsetParent; } 其中Element

我想得到一个子元素的总偏移量和总偏移量,这个子元素有很多级别的父元素,并且可能是相加的


除了以手动方式逐个添加之外,这还有什么速记方法吗?

使用jQuery:
$(node).offset()
然后
.top
。left

在不使用jQuery的情况下提供答案:

var a = Element, b = 0, c = 0;
while (a) {
    b += a.offsetLeft;
    c += a.offsetTop;
    a = a.offsetParent;
}

其中
Element
是您的元素节点,您需要一个
offsetLeft
offsetTop

这似乎是一个不错的脚本:但对我来说,
c+=a.offsetTop-a.scrollTop生成正确的位置,以防某些家长滚动。