FF と IE は、子がオーバーフローと境界線を持つ親にある場合、異なる offsetTop を与えます。FF は、offsetTop 値から親の上枠サイズを減算するため、負の値を返します (多くの場合)。代わりにIEが正しい値を返すと思います。
同じ値を取得するクロスブラウザの方法はありますか?
ありがとうございました。
FF と IE は、子がオーバーフローと境界線を持つ親にある場合、異なる offsetTop を与えます。FF は、offsetTop 値から親の上枠サイズを減算するため、負の値を返します (多くの場合)。代わりにIEが正しい値を返すと思います。
同じ値を取得するクロスブラウザの方法はありますか?
ありがとうございました。
このoffsetTop
プロパティは、オフセットの親に対する相対的な位置を示します。Fx と IE の違いは、この場合、オフセットの親として異なる要素を使用することです。
オーバーフローがこれにどのように影響するか正確にはわかりません。定義にはまだ何も見つかりません。ただし、IE にはオフセットの親が間違っているという既知のバグがあり、ここに表示されているバグのバリエーションである可能性があります。
2005 年から発生している firefox のバグのようです。問題は、offsetTop の明確な仕様がないことです。
https://bugzilla.mozilla.org/show_bug.cgi?id=307502
getBoundingClientRect を使用するとうまくいくかもしれません (私にとってはうまくいきます)。
var rect;
rect = el.getBoundingClientRect();
return rect.top;