在js 中当需要计算目标元素和浏览器顶部或者左边的距离时,通过创建以下函数,调用即可
// 创建函数,计算目标元素到浏览器窗口的距离
function getTL(obj){
// 定义t和l用来计算每一层的offset的距离
var t=0;
var l=0;
var start=obj;
while(obj){
if (obj==start) {
t+=obj.offsetTop;
l+=obj.offsetLeft;
obj=obj.offsetParent;
}else{
t+=obj.offsetTop+obj.clientTop;//除第一次以外,其余外层标签要将标签的border计算在内
l+=obj.offsetLeft+obj.clientLeft;
obj=obj.offsetParent;
}
}
// 循环执行完毕(循环到了最外层body),返回t和l的值
return {left:l,top:t};
}