自从知道这段代码,一直在用,最简单的高效的代码了
1
2
3
4
5
6
7
getElementTop(elem){
var sum=elem.offsetTop;
while((elem=elem.offsetParent)!=null){
sum+=elem.offsetTop;
}
return sum;
}
- offsetTop是elem距离直接定位的父级元素的距离
- offsetParent返回一个指向最近的(指包含层级上的最近)包含该元素的定位元素 或者最近的 table,td,th,body元素。当元素的 display 设置为 "none" 时,offsetParent 返回 null