Как получить и установить позицию элемента с помощью .offsetметода jQuery ?
Скажем, у меня есть div layer1и еще один layer2. Как я могу получить положение layer1и установить такое же положение layer2?
Как получить и установить позицию элемента с помощью .offsetметода jQuery ?
Скажем, у меня есть div layer1и еще один layer2. Как я могу получить положение layer1и установить такое же положение layer2?
Ответы:
//Get
var p = $("#elementId");
var offset = p.offset();
//set
$("#secondElementId").offset({ top: offset.top, left: offset.left});
offsetобъект, и тогда он //setбудет $("#secondElementId").offset(offset)
Рекомендую другой вариант. В пользовательском интерфейсе jQuery появилась новая функция позиционирования, которая позволяет позиционировать элементы относительно друг друга. Полную документацию и демонстрацию см. По адресу : http://jqueryui.com/demos/position/#option-offset .
Вот один из способов позиционирования ваших элементов с помощью функции позиционирования:
var options = {
"my": "top left",
"at": "top left",
"of": ".layer1"
};
$(".layer2").position(options);
.position... См .: api.jquery.com/position
Это выполнимо, но вы должны знать, что using 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);