使用javascript& amp;查找HTML元素的位置的offsetTop

时间:2010-08-20 17:30:01

标签: javascript html dom cross-browser

我正在尝试使用javascript在屏幕上找到元素的位置。这就是我正在做的事情。

function locateTargets(){
    var targets = document.getElementsByTagName("span");
    for(var i = 0;i<targets.length;i++){
        if(targets[i].className == "target"){
            targetsY[targets[i].getAttribute("id")] = targets[i].offsetTop;
        }
    }
}

这在Firefox,Chrome和IE中运行良好,但Opera和Safari最终会找到除了最后一个元素之外的所有元素。

为什么会发生这种情况以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

offsetTop找到相对于最后一个绝对定位的父/祖先元素的顶部位置(document.body是任何其他元素的第一个绝对定位的祖先元素。)

看似Opera has a bit of trouble document.body甚至fixed elements

如果这些不是您的问题,发布一些代码可能有助于我们帮您排除故障。