使用jQuery .offset()获取并设置位置

时间:2011-01-06 09:04:06

标签: jquery

如何使用jQuery .offset方法获取和设置元素的位置?

假设我有一个div layer1和另一个layer2。如何获得layer1的位置并将相同的位置设置为layer2

5 个答案:

答案 0 :(得分:187)

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

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

答案 1 :(得分:34)

我推荐另一种选择。 jQuery UI有一个新的位置功能,允许您相对于彼此定位元素。有关完整的文档和演示,请参阅:http://jqueryui.com/demos/position/#option-offset

以下是使用位置功能定位元素的一种方法:

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

答案 2 :(得分:15)

这是可行的,但您必须知道使用offset()设置元素相对于文档的位置:

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

答案 3 :(得分:0)

这是一个选项。这仅适用于x坐标。

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

答案 4 :(得分:0)

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/