// 兼容低版本IE// 轉(zhuǎn)換為數(shù)字 function intval(v) {
v = parseInt(v); return isNaN(v) ? 0 : v;
}function getPos(e) { // left and top value
var left = 0; var top = 0; // offsetParent返回一個(gè)指向最近的定位元素,標(biāo)準(zhǔn)模式如果沒(méi)有就返回html/body,表示遷移量都是相對(duì)其中來(lái)計(jì)算.
while (e.offsetParent) { // 計(jì)算偏移量
left += e.offsetLeft + (e.currentStyle ? intval(e.currentStyle.borderLeftWidth) : 0);
top += e.offsetTop + (e.currentStyle ? intval(e.currentStyle.borderTopWidth) : 0); // 最近的定位元素或者body
e = e.offsetParent;
}
left += e.offsetLeft + (e.currentStyle ? intval(e.currentStyle.borderLeftWidth) : 0);
top += e.offsetTop + (e.currentStyle ? intval(e.currentStyle.borderTopWidth) : 0); return { x: left, y: top
};
}document.addEventListener('mousemove', function(e) { // 即便滾動(dòng)條再怎么動(dòng)也不會(huì)影響目標(biāo)DOM距離頂部的距離
console.log(getPos(document.querySelector('.footer')))
})