Yanıtlar:
Aynı olup olmadıkları bağlama bağlıdır.
position
ofset üst{left: x, top: y}
öğesine göre bir nesne döndürür
offset
belgeye göre bir {left: x, top: y}
nesne döndürür .
Açıkçası, belge ofset ebeveyni ise, ki bu genellikle durumdur, bunlar aynı olacaktır. Ofset üst "en yakın konumlandırılmış içeren eleman" dir.
Örneğin, bu belgeyle:
<div style="position: absolute; top: 200; left: 200;">
<div id="sub"></div>
</div>
O zaman $('#sub').offset()
olacak {left: 200, top: 200}
, ama .position()
olacak {left: 0, top: 0}
.
sub
0: 0'a mutlak konumlandırma yapacaksanız, o zaman ofset ebeveyninin sol üst köşesinde olacaktır.
.Offset () metodu bize bir eleman geçerli konumunu almak için izin verir belgeye akrabası . İle kontrast .position () alır, ofset ana akım konumunu . Global manipülasyon için (özellikle sürükle ve bırak uygulaması için) yeni bir elemanı mevcut bir elemanın üzerine yerleştirirken .offset () daha kullanışlıdır.
Kaynak: http://api.jquery.com/offset/
Her iki işlev de iki özelliğe sahip düz bir nesne döndürür: genişlik ve yükseklik.
ofset (), belgeye göre konumu belirtir.
position (), üst öğesine göre konumu ifade eder
AMA nesnenin css konumu "mutlak" olduğunda, her iki işlev de width = 0 & height = 0 döndürür