1

繰り返しになりますが、私には2つの要素があり、そのうちの1つを2番目の要素に対して相対的に配置したいと思います:-)見つけたので、そのために「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"
});

テストチャイルドをテストペアレントの上/下に配置したい。問題は、親に対して水平に配置するのではなく、垂直に配置することです。それは可能ですか:-)??

4

1 に答える 1

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);
    }
});
于 2012-04-18T11:56:29.493 に答える