我正在尝试使用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最终会找到除了最后一个元素之外的所有元素。
为什么会发生这种情况以及如何解决这个问题?
答案 0 :(得分:0)
offsetTop
找到相对于最后一个绝对定位的父/祖先元素的顶部位置(document.body
是任何其他元素的第一个绝对定位的祖先元素。)
看似Opera has a bit of trouble document.body
甚至fixed elements。
如果这些不是您的问题,发布一些代码可能有助于我们帮您排除故障。