获取表格中元素的offsetTop

问题描述 投票:0回答:1

我似乎不知道如何获取表中元素的 offsetTop。它适用于表格外部的元素,但表格内的所有元素都返回相同的结果,并且通常位于页面顶部。我在 Firefox 和 Chrome 中尝试过这个。如何获取表中元素的 offsetTop?

javascript html offset
1个回答
27
投票

offsetTop
返回相对于
offsetParent
的值;您需要循环遍历所有添加
offsetParent.offsetTop
的父项,直到
offsetParent
null
。考虑使用 jQuery
offset
()
方法。

如果你不想使用jQuery,你可以编写这样的方法(未经测试):

function offset(elem) {
    if(!elem) elem = this;

    var x = elem.offsetLeft;
    var y = elem.offsetTop;

    while (elem = elem.offsetParent) {
        x += elem.offsetLeft;
        y += elem.offsetTop;
    }

    return { left: x, top: y };
}
© www.soinside.com 2019 - 2024. All rights reserved.