9

你好呀

我有一个位置固定的元素,我无法检测位置,必须清楚地使用 javascript,没有框架(jquery、mootools 等)。

4

4 回答 4

11

利用:

var boundingBox = node.getBoundingClientRect();

查看结果,您有一个像这样的对象:

top    : 0,
right  : 0,
bottom : 0,
left   : 0,
width  : 0,
height : 0
于 2014-09-23T13:32:19.317 回答
5

这有帮助吗:

document.getElementById('id').offsetLeft // + window.scrollX
document.getElementById('id').offsetTop // + window.scrollY

你可能想看看:这个问题

于 2013-01-11T06:41:06.773 回答
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];
}

http://www.quirksmode.org/js/findpos.html

于 2013-01-11T06:44:34.517 回答
0

对于跨平台解决方案,您可能需要查看微框架Popper.js源。我通过尝试解决这个 popper 问题找到了你的问题,但我相信它适用于任何固定元素。

于 2019-09-03T20:43:57.037 回答