Yanıtlar:
Aynı olup olmadıkları bağlama bağlıdır.
positionofset üst{left: x, top: y} öğesine göre bir nesne döndürür
offsetbelgeye 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}.
sub0: 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