2012-04-18 5 views
1

Heyho 다시, 두 요소가 있는데 두 번째 요소와 관련하여 그 중 하나를 배치하려고합니다 :-) "jquery ui .position()"을 (를) 사용하고자합니다. 그에 대한. 여기에 내가 가진 무엇 :jQuery UI 위치가있는 다른 요소의 위치 요소

<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 아래/위의 위치가되고 싶어요. 문제는 내가 부모에 상대적으로 수평으로 배치하고 싶지는 않지만 수직으로 배치하는 것입니다. 가능합니까 :-) ??

답변

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); 
    } 
}); 
+0

예, 내 문제를 해결했습니다. 내가해야만하는 변화 : 소품은 정의되지 않았습니다. 그래서 "요소"매개 변수가 충분하고'$ ('# testchild') 여야합니다. css ("top", element.top); –

+0

맞아요, 함수는 하나의 인수 만 취하고 'this'는 요소에 바인딩됩니다. 그에 따라 내 대답을 업데이 트되었습니다. –

관련 문제