[jquery] jQuery .offset ()로 위치 가져 오기 및 설정

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/


답변