Ob sie gleich sind, hängt vom Kontext ab.
position
Gibt ein {left: x, top: y}
Objekt relativ zum übergeordneten Offset zurück
offset
Gibt ein {left: x, top: y}
Objekt relativ zum Dokument zurück .
Wenn das Dokument das übergeordnete Offset-Dokument ist, was häufig der Fall ist, sind diese offensichtlich identisch. Das übergeordnete übergeordnete Element ist "das am nächsten positionierte enthaltende Element".
Zum Beispiel mit diesem Dokument:
<div style="position: absolute; top: 200; left: 200;">
<div id="sub"></div>
</div>
Dann $('#sub').offset()
wird das sein {left: 200, top: 200}
, aber es .position()
wird sein {left: 0, top: 0}
.
sub
0: 0 absolut positionieren, befindet es sich in der oberen linken Ecke des übergeordneten Offsets..position
Ihrer Information , wurde aktualisiert in 1.12.0 => github.com/jquery/jquery/issues/1708Quelle: http://api.jquery.com/offset/
quelle
Beide Funktionen geben ein einfaches Objekt mit zwei Eigenschaften zurück: width & height.
ABER wenn die CSS-Position des Objekts "absolut" ist, geben beide Funktionen width = 0 & height = 0 zurück
quelle