对于chrome和ff,当涉及到可怕的问题时,该脚本非常完美。有一个问题
function getY(oElement) {
var curtop = 0;
if (oElement.offsetParent) {
while (oElement.offsetParent)
{
curtop += oElement.offsetTop;
oElement = oElement.offsetParent;
}
}
else if (oElement.y) {
curtop += oElement.y;
}
return curtop;
}
我尝试了一些调试,发现chrome和ff的父级是
<Li>
,这是正确的,但是ie的父级是<body>
请帮助任何人?
好的,我做了一些进一步的挖掘,发现即不支持
offsetparent
和position:relative;
,但是由于其他原因,我确实需要此CSS,是否有任何解决方法? 最佳答案
我过去经常使用与此类似的脚本来确定元素的位置。从那时起,我开始使用jQuery,它具有两个非常出色且非常兼容浏览器的功能来确定位置:
position()-http://api.jquery.com/position/-获取元素相对于父元素的位置。
offset()-http://api.jquery.com/offset/-获取元素相对于文档的位置。
起初我有点不愿意使用jQuery,因为我不想花时间学习它,并且因为我已经自己写了很多代码片段来完成这样的事情。当我尝试使用jQuery时,我在一天内就学会了它,而且我喜欢它,现在将其用于我的所有JavaScript项目。
这可能不是您要查找的答案,但是jQuery确实具有位置查找功能。