2

通常要获取我使用的任何元素的窗口位置:

while(el) {
    x += el.offsetLeft;
    y += el.offsetTop;
    el = el.offsetParent;
}

但是,当元素位于浮动 div 中时,我遇到了问题。

<div id="wrapper">
    <div id="floatLeft" style="float: left; width: 20%;"></div>
    <div id="floatRight" style="float: right; width: 80%;">
        <div>I want to find the window pos of this</div>
    </div>
</div>

在上述元素嵌套在浮动 div 中的情况下,它仅返回从右 div 边缘的偏移量。当然这是一个简化的例子,在现实世界的情况下,正确的 div 会有多个嵌套元素等。不过,如何修改我用来考虑浮动元素的 javascript?

编辑:问题实际上在于我定位绝对元素的方式,而不是与浮动 div 的偏移量有关。这个问题是空的。

4

1 回答 1

0

尝试使用 jQuery:

while(el) {
    x += $(el).offset().left;
    y += $(el).offset().top;
}
于 2012-06-29T05:25:36.337 回答