你好
我有一个固定位置的元素,我无法检测位置,必须清楚地使用javascript,没有框架(jquery,mootools等)。
答案 0 :(得分:8)
使用:
var boundingBox = node.getBoundingClientRect();
查看结果,你有一个这样的对象:
top : 0,
right : 0,
bottom : 0,
left : 0,
width : 0,
height : 0
答案 1 :(得分:3)
这有用吗:
document.getElementById('id').offsetLeft // + window.scrollX
document.getElementById('id').offsetTop // + window.scrollY
您可能需要查看: This Question
答案 2 :(得分:2)
function findPos(obj) {
var curleft = curtop = 0;
if (obj.offsetParent)
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return [curleft,curtop];
}
答案 3 :(得分:0)
对于跨平台解决方案,您可能希望查看微框架Popper.js
的来源。我通过尝试解决此popper问题找到了您的问题,但我认为它适用于任何固定的元素。