gpt4 book ai didi

javascript - 在 IE 和其他浏览器中获取元素位置

转载 作者:行者123 更新时间:2023-11-30 18:54:31 25 4
gpt4 key购买 nike

我们都知道 IE6 很难。但与 Firefox 或其他浏览器相比,在更高版本的 IE 中似乎也存在不同的定位行为。我有一对简单的 javascript 函数,它找到一个元素的位置,然后显示与第一个元素相关的另一个元素。这个想法是让第二个元素,它稍微大一点,当鼠标悬停在第一个元素上时,它出现在第一个元素的前面。它工作正常,除了在所有版本的 Internet Explorer 上,第二个元素的位置看起来与在 Firefox 中不同。

获取元素位置的代码是:

function getPosition(e) 
{
var left = 0;
var top = 0;

while (e.offsetParent) {
left += e.offsetLeft;
top += e.offsetTop;
e = e.offsetParent;
}

left += e.offsetLeft;
top += e.offsetTop;
return {x:left, y:top};
}

而实际的滚动显示代码是:

var pos = getPosition(elem1);
elem2.style.top = pos.y - 8;
elem2.style.left = pos.x - 6;

在 Firefox 中,elem2 直接出现在 elem1 之上,正如我所希望的那样。但在 IE7 或 IE8 中,它看起来很遥远。发生这种情况的原因是什么,是否有解决方法?

最佳答案

elem2.style.top = pos.y - 8;

CSS 需要一个单位。 +'px'.

(可以想象,IE 和其他浏览器之间可能存在差异,具体取决于 elem2 的定位方式。)

关于javascript - 在 IE 和其他浏览器中获取元素位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2617115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com