2

FF と IE は、子がオーバーフローと境界線を持つ親にある場合、異なる offsetTop を与えます。FF は、offsetTop 値から親の上枠サイズを減算するため、負の値を返します (多くの場合)。代わりにIEが正しい値を返すと思います。

試して

同じ値を取得するクロスブラウザの方法はありますか?

ありがとうございました。

4

2 に答える 2

2

このoffsetTopプロパティは、オフセットの親に対する相対的な位置を示します。Fx と IE の違いは、この場合、オフセットの親として異なる要素を使用することです。

オーバーフローがこれにどのように影響するか正確にはわかりません。定義にはまだ何も見つかりません。ただし、IE にはオフセットの親が間違っているという既知のバグがあり、ここに表示されているバグのバリエーションである可能性があります。

于 2010-03-08T15:35:29.940 に答える
0

2005 年から発生している firefox のバグのようです。問題は、offsetTop の明確な仕様がないことです。

https://bugzilla.mozilla.org/show_bug.cgi?id=307502

getBoundingClientRect を使用するとうまくいくかもしれません (私にとってはうまくいきます)。

var rect;
rect = el.getBoundingClientRect();
return rect.top;
于 2011-07-25T13:21:10.057 に答える