我似乎无法弄清楚如何获取表中元素的 offsetTop 。它适用于表格外部的元素,但表格内的所有元素都返回相同的结果,并且通常位于页面顶部。我在 Firefox 和 Chrome 中尝试过这个。如何获取表中元素的 offsetTop?
offsetTop
返回一个相对于的值offsetParent
;你需要递归添加offsetParent.offsetTop
通过所有的父母,直到offsetParent
is null
。考虑使用jQuery http://jQuery.com's offset http://docs.jquery.com/CSS/offset()
method.
EDIT:如果你不想使用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 };
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)