使用jQuery UI位置的另一个位置元素

时间:2012-04-18 10:32:21

标签: jquery jquery-ui position

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的上方/下方。问题是,我不想将它相对于父级水平放置,而只是垂直放置! 这可能: - )??

1 个答案:

答案 0 :(得分:2)

仅使用myat选项无法做到这一点,因为指定单个值将同时适用于lefttop

但是,您可以在using选项中指定一个函数,并且将调用该函数来执行定位。如果您忽略left属性并仅更新top,则可以实现您想要的效果:

$("#testchild").position({
    my: "left top",
    at: "left bottom",
    of: "#testparent",
    offset: "0 3",
    using: function(props) {
        $(this).css("top", props.top);
    }
});