Heyho, 我有两个元素,并希望相对于第二个元素定位其中一个:-) 我发现并想使用“jquery ui .position()”。这是我得到的:
<div id="testparent">Parent</div>
<div id="testchild">Child</div>
#testparent{
position: absolute;
margin:100px auto auto auto;
width:300px;
height:120px;
background:lime;
}
#testchild{
margin:auto;
width:60px;
height:90px;
background:yellow;
}
$('#testchild').position({
of: $('#testparent'),
my: "left top",
at: "left bottom",
offset: "0 3"
});
我希望testchild位于testparent的上方/下方。问题是,我不想将它相对于父级水平放置,而只是垂直放置! 这可能: - )??
答案 0 :(得分:2)
仅使用my
和at
选项无法做到这一点,因为指定单个值将同时适用于left
和top
。
但是,您可以在using选项中指定一个函数,并且将调用该函数来执行定位。如果您忽略left
属性并仅更新top
,则可以实现您想要的效果:
$("#testchild").position({
my: "left top",
at: "left bottom",
of: "#testparent",
offset: "0 3",
using: function(props) {
$(this).css("top", props.top);
}
});