gpt4 book ai didi

javascript - 获取偏移量Top & IE

转载 作者:行者123 更新时间:2023-12-02 20:42:02 25 4
gpt4 key购买 nike

我试图在 IE 中获取 offsetTop,但这根本无法像我想要的那样工作。

                var miniMap = $('#miniMap'),
parnts = miniMap.parents(),
l = parnts.length,
i, setVpos,
setHPos = $('#showMap').position().left;

for (i = 0; i < l; i += 1) {
if (parnts[i].className === 'smallBox') {
if (isIE) {
setVpos = parnts[i].offsetTop; // returns the wrong value
}
else {
setVpos = parnts[i].offsetTop; // works as it should
}
}
}

正如你所见,我正在使用 jQuery。我当然可以使用 jQuery offset/position().top && .each:

       parnts.each(function() {
if ($(this).hasClass('smallBox')) {
setVpos = $(this).position().top;
} ....

..但是,我听说“.each”比使用 for 循环慢得多。我也很好奇,很想知道你们在 jQuery 之前用过什么:-)

我的问题是,当使用 for 循环执行此操作时,我无法使用 jQuery obj =>position().left 不起作用。

我在 Google 上搜索并找到了以下内容:

document.getElementById("elementID").offsetLeft // all other
document.all.elementID.offsetLeft // IE only

我想这也许可行:

if (isIE) {
setVpos = document.all.parnts[i].offsetTop;
}

..但事实并非如此。所以现在我向你们寻求帮助。

有什么建议吗?预先感谢!

最佳答案

您显然引用了 jQuery 库,那么为什么不使用它来获取偏移量呢?使用 jQuery,您应该不需要任何变量,例如 isIE。使用库的最大好处是跨浏览器兼容性。以下是您可以做到的方法...

var off = $(parnts[i]).offset();
alert(off.top);

offset on jQuery API

关于javascript - 获取偏移量Top & IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2193002/

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