【发布时间】:2011-04-25 05:30:02
【问题描述】:
我有一个 div 设置为 css 类 float,其中 float 为:
.float {
display:block;
position:fixed;
top: 20px;
left: 0px;
z-index: 1999999999;
}
* html .float {position:absolute;}
这个类使元素在页面上停留在一个固定的位置(*html部分是为了让它在IE中工作)。我正在使用 javascript 来水平和垂直移动元素的位置。
我需要在javascript中获取div相对于浏览器窗口的绝对位置(div是浏览器窗口顶部和左侧的像素数)。现在,我正在使用以下内容:
pos_left = document.getElementById('container').offsetLeft;
pos_top = document.getElementById('container').offsetTop;
上面的代码适用于 IE、Chrome 和 FF,但在 Opera 中它对两者都返回 0。我需要一个适用于所有这些浏览器的解决方案。有什么想法吗?
顺便说一句:跟踪 javascript 所做的更改是可能的,但由于性能原因,这不是我正在寻找的解决方案。另外,我不使用 jquery。
【问题讨论】:
-
+1 如果你不需要的话不要使用 jQuery 并提及它:)
-
小心
z-indez的那个号码;)。如果你不需要,不要那么高。 -
使用如此高的 z 索引会降低性能吗?
标签: javascript css positioning offset