jQuery 입문 | 요소의 영역 | 요소의 위치 .offset() .position()
요소의 위치
jQuery는 선택한 요소의 위치를 손쉽게 반환하고 설정 할 수 있는 메소드를 제공한다.
메소드 | 설명 |
---|---|
.offset() | 선택한 요소 집합의 첫 번째 요소의 위치를 HTML 문서를 기준으로 반환하거나, 선택한 요소의 위치를 인수로 전달받은 값으로 설정한다. |
.position() | 선택한 요소 집합의 첫 번째 요소의 위치를 해당 요소가 웹 페이지에 위치할 때 기준이 되었던 부모 요소를 기준으로 하는 상대 위치를 반환한다. |
.offset() 메소드
.offset()
메소드는 HTML 문서(document)를 기준으로 선택한 요소의 오프셋 좌표를 반환하거나 설정한다.
아래 예제는 선택한 요소의 위치를 반환하는 예제이다.
$("button").on("click", function(){
var p = $("p:first").offset();
$("span").text("top: " + p.top + "xp, left: " + p.left + "xp");
});
아래 예제는 선택한 요소의 위치를 설정하는 예제이다.
$("button").on("click", function(){
$("p").offset({ top: 200, left: 10 });
var p = $("p:first").offset();
$("span").text("top: " + p.top + "xp, left: " + p.left + "xp");
});
.position() 메소드
.position()
메소드는 .offset()
메소드와는 달리, 선택한 요소가 웹 페이지에 위치할 때 기준이 되었던 부모 요소(offset parent)를 기준으로 하는 상대 위치를 반환한다.
아래 예제는 .position()
메소드와 .offset()
를 한번에 위치를 반환하여 표시해 주는 예제이다.
$("button").on("click", function(){
var p = $("p").position();
$("#position").text("position - top: " + p.top + "xp, left: " + p.left + "xp");
var o = $("p").offset();
$("#offset").text("offset - top: " + o.top + "xp, left: " + o.left + "xp");
});
.offset() 메소드와 .position() 메소드의 차이점
.offset()
메소드와 .position()
메소드의 차이점은 다음과 같다.
메소드명 | 설명 |
---|---|
.offset() 메소드 | HTML 문서(HTML document)를 기준으로 함. |
.position() 메소드 | 선택한 요소가 웹 페이지에 위치할 때 기준이 되는 부모 요소를 기준으로 함. |
최종 수정 : 2021-08-27