Получить и установить позицию с помощью jQuery.offset()

Как получить и установить положение элемента с помощью метода jQuery .offset?

Скажем, у меня есть div layer1 и еще один layer2. Как я могу получить позицию layer1 и установить ту же позицию в layer2?

Ответ 1

//Get
var p = $("#elementId");
var offset = p.offset();

//set
$("#secondElementId").offset({ top: offset.top, left: offset.left});

Ответ 2

Я рекомендую другой вариант. jQuery UI имеет новую функцию позиции, которая позволяет размещать элементы относительно друг друга. Для полной документации и демонстрации см. http://jqueryui.com/demos/position/#option-offset.

Здесь один из способов позиционирования ваших элементов с помощью функции позиции:

var options = {
    "my": "top left",
    "at": "top left",
    "of": ".layer1"
};
$(".layer2").position(options);

Ответ 3

Это возможно, но вы должны знать, что использование offset() устанавливает положение элемента относительно документа:

$('.layer1').offset( $('.layer2').offset() );

Ответ 4

Вот вариант. Это просто для координат x.

var div1Pos = $("#div1").offset();
var div1X = div1Pos.left;
$('#div2').css({left: div1X});

Ответ 5

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/