使用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});
我build议另一个选项。 jQuery UI有一个新的位置function,允许您相对于彼此定位元素。 有关完整的文档和演示,请参阅: 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);