Whether they're the same depends on context.
position
returns a {left: x, top: y}
object relative to the offset parent
offset
returns a {left: x, top: y}
object relative to the document.
Obviously, if the document is the offset parent, which is often the case, these will be identical. The offset parent is "the closest positioned containing element."
For example, with this document:
<div style="position: absolute; top: 200; left: 200;">
<div id="sub"></div>
</div>
Then the $('#sub').offset()
will be {left: 200, top: 200}
, but its .position()
will be {left: 0, top: 0}
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…