jQuery .offset
메서드 를 사용하여 요소의 위치를 가져오고 설정하는 방법은 무엇입니까?
내가 div layer1
와 다른 layer2
. 위치를 가져 layer1
오고 동일한 위치를 설정하려면 layer2
어떻게 해야 합니까?
답변
//Get
var p = $("#elementId");
var offset = p.offset();
//set
$("#secondElementId").offset({ top: offset.top, left: offset.left});
답변
다른 옵션을 권장합니다. jQuery UI에는 요소를 서로 상대적으로 배치 할 수있는 새로운 위치 기능이 있습니다. 전체 문서 및 데모는 http://jqueryui.com/demos/position/#option-offset을 참조하십시오 .
다음은 위치 기능을 사용하여 요소를 배치하는 한 가지 방법입니다.
var options = {
"my": "top left",
"at": "top left",
"of": ".layer1"
};
$(".layer2").position(options);
답변
할 수 있지만 사용 offset()
하면 문서와 관련된 요소의 위치가 설정 된다는 것을 알아야합니다 .
$('.layer1').offset( $('.layer2').offset() );
답변
여기에 옵션이 있습니다. 이것은 x 좌표만을위한 것입니다.
var div1Pos = $("#div1").offset();
var div1X = div1Pos.left;
$('#div2').css({left: div1X});
답변
var redBox = $(".post");
var greenBox = $(".post1");
var offset = redBox.offset();
$(".post1").css({'left': +offset.left});
$(".post1").html("Left :" +offset.left);
http://jsfiddle.net/va836/159/