2011-10-24 6 views
0

jqueryUI의 위치를 ​​사용하여 배치 한 요소가 있습니다. .jQueryUI 위치 요소에 애니메이션을 적용하는 방법

- :

는 I 오프셋 (그것은 jQueryUI 위치를 초기화하는 경우에 지정된 다른 요소에 대하여 유지되도록

같이 I의 소자를 배치하고 조정함으로써이 요소를 애니메이트 할 수 있어야

$('#toparrow').position ({ 

      of: $('#relative_element'), 
      my: 'center top', 
      at: 'center top', 
      offset: "0 0" 

     }) 
그리고이 '0 -30'오프셋 aniate 싶습니다. 내가 이것을 달성 할 수있는 방법

?

답변

2

그것을가 위치의 일단 여기에 설명하기 위해 jsfiddle이다,이 서명 = 인해 누락의 혼란을

$('#toparrow').position({ 
    of: $('#relative_element'), 
    my: 'center top', 
    at: 'center top', 
    offset: '0 0' 
}); 

$('#toparrow').animate({ 
    top: '-=30px' 
}); 

: 당신은 상대 애니메이션을 할 수

http://jsfiddle.net/bryanjamesross/Vz4WV/

+0

감사 브라이언,하지만 불행히도이 늘 효과가 'top'속성에 애니메이션을 적용해야하므로 물론 이것은 하나의 요소에 대해서는 문제가되지 않지만 동적으로 많은 요소를 생성하므로 다른 요소 아래에 하나씩 표시됩니다. 즉, 'top'속성은 모든 요소에 대해 동일하게 끝날 것입니다. 요소가 원래 위치에서 30px로 이동해야합니다. 그 다음에는 위로부터 30px로 이동해야합니다. 내 질문에 더 명확하지 않은 것은 내 잘못이다. 사과한다. – gordyr

+0

좋아, 나는 그렇게하도록 바꿨다. 그리고 그것을 원래 위치에서 움직이는 한, 그렇게합니다. 그것이 * 상대 * 애니메이션 인 이유입니다. 그것이 '-30px'의 기능입니다. jQuery가 현재 어디서나 *, -30px 이상에서 움직일 수있게합니다. – rossipedia

+0

죄송합니다 ... 죄송합니다 ... 나는 위치를 사용하고 있음을 언급해야합니다 : 주변 요소에 영향을 미치지 않도록 요소 스타일을 지정할 때 절대적인 요소가 있어야합니다. 물론 솔루션은 위치와 함께 작동합니다. 상대적으로, 불행히도 이것은 적합하지 않습니다. 이 경우와 위치 : css를 통해 절대 설정 (페이지 레이아웃 상단에 요소를 쌓기 위해) 원래의 위치에 비례하여 -30px가 아닌 같은 높이로 모두 음영 처리됩니다. 다시 충분한 정보를주지 못해서 사과드립니다. – gordyr

관련 문제