답변:
동일한 지 여부는 상황에 따라 다릅니다.
position
오프셋 부모를 기준으로{left: x, top: y}
객체를 반환합니다.
offset
문서를 기준으로{left: x, top: y}
객체를 반환합니다 .
분명히, 문서가 오프셋 부모 인 경우가 종종 있습니다. 오프셋 부모 "가장 가까운 위치 함유 요소"이다.
예를 들어이 문서에서
<div style="position: absolute; top: 200; left: 200;">
<div id="sub"></div>
</div>
그러면 $('#sub').offset()
의지가 {left: 200, top: 200}
되겠지만, .position()
의지가 될 것입니다 {left: 0, top: 0}
.
sub
합니다 .0 : 0에 절대 위치를 지정하면 오프셋 상위의 왼쪽 상단에 있습니다.
.position
로 1.12.0에서 업데이트되었습니다 => github.com/jquery/jquery/issues/1708
.offset () 메소드는 우리 소자의 현재 위치를 검색 할 수있는 문서에 대하여 . 이것을 오프셋 parent와 관련된 현재 위치 를 검색하는 .position () 과 대조하십시오 . 전역 조작 (특히, 끌어서 놓기 구현)을 위해 기존 요소 위에 새 요소를 배치 할 경우 .offset ()이 더 유용합니다.
두 함수 모두 너비와 높이라는 두 가지 속성을 가진 일반 객체를 반환합니다.
offset ()은 문서를 기준으로 한 위치를 나타냅니다.
position ()은 부모 요소와 관련된 위치를 나타냅니다.
그러나 객체의 CSS 위치가 "절대"인 경우 두 함수 모두 너비 = 0 및 높이 = 0을 반환합니다.