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のオフセットとは関係なく、絶対要素を配置する方法にありました。この質問はnullです。

4

1 に答える 1

0

jQueryを使用してみてください:

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