如何在没有jquery的情况下获得固定元素的位置?

时间:2013-01-11 06:38:29

标签: javascript position fixed

你好

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

4 个答案:

答案 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];
}

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

答案 3 :(得分:0)

对于跨平台解决方案,您可能希望查看微框架Popper.js的来源。我通过尝试解决此popper问题找到了您的问题,但我认为它适用于任何固定的元素。