JavaScript如何获得一个DOM元素的绝对位置?(获取元素位置,不依赖框架)
function offset(ele) {
var top = ele.offsetTop;
var left = ele.offsetLeft;
while (ele.offsetParent) {
ele = ele.offsetParent;
if (window.navigator.userAgent.indexOf('MSTE 8') > -1) {
top += ele.offsetTop;
left += ele.offsetLeft;
} else {
top += ele.offsetTop + ele.clientTop;
left += ele.offsetLeft + ele.clientLeft;
}
}
return {
left: left,
top: top
}
}
var oImg = document.getElementById('img1');
console.log(offset(oImg).top, offset(oImg).left);
知识点:
(1)判断浏览器版本用window.navigator.userAgent
(2)IE8中offsetTop和offsetLeft包含border的值

