如何使用jQuery .offset方法获取和设置元素的位置?
假设我有一个div layer1而另一个layer2.我如何获得位置layer1并设置相同的位置layer2?
Ste*_*eve 188
//Get
var p = $("#elementId");
var offset = p.offset();
//set
$("#secondElementId").offset({ top: offset.top, left: offset.left});
Run Code Online (Sandbox Code Playgroud)
KSe*_*Sev 34
我推荐另一种选择.jQuery UI有一个新的位置功能,允许您相对于彼此定位元素.有关完整的文档和演示,请参阅:http://jqueryui.com/demos/position/#option-offset.
这是使用位置功能定位元素的一种方法:
var options = {
"my": "top left",
"at": "top left",
"of": ".layer1"
};
$(".layer2").position(options);
Run Code Online (Sandbox Code Playgroud)
Amj*_*sad 16
它是可行的,但您必须知道使用offset()设置元素相对于文档的位置:
$('.layer1').offset( $('.layer2').offset() );
Run Code Online (Sandbox Code Playgroud)