設定 - jQuery:position()とoffset()の違い




offset().top エラー (2)

.offset()メソッドを使用すると、ドキュメントに対する要素の現在の位置を取得できます 。 これを.position()比較すると、オフセット親に対する現在の位置を取得します。 グローバルな操作のために既存の要素の上に新しい要素を配置する場合(特に、ドラッグアンドドロップを実装する場合)は、.offset()が便利です。

ソース: http://api.jquery.com/offset/ : http://api.jquery.com/offset/

position()offset()の違いは何ですか? 私はクリックイベントで次のことを試みました:

console.info($(this).position(), $(this).offset());

そして、彼らはまったく同じように返すようです...(クリックされた要素はテーブル内のテーブルセル内にあります)


これは、要素がどのコンテキストにあるかに依存します。positionは、オフセット親に対して相対的な position返し、 offset、ドキュメントに対して相対的に同じです。 明らかに、文書がオフセット親である場合(これはしばしば当てはまる)、これらは同一である。

このようなレイアウトがある場合は、次のようにします。

 <div style="position: absolute; top: 200; left: 200;">
     <div id="sub"></div>
 </div>

次に、 suboffsetは200:200になりますが、そのpositionは0:0になります。





positioning