2012-07-16 3 views
1

스크롤하는 동안 고정 된 요소에서 Jquery UI의 .position() 함수가 손상된 것 같습니다. 예를 들어, 페이지 상단의 고정 요소 (예 : 머리글)의 "가운데 상단"에 새 요소 (아래의 데모에서 파란색 블록)를 배치하려고합니다. .position()에서 충돌 감지가 요소가 "가운데 하단"으로 뒤집혀 질 것으로 예상했습니다. 그것은 처음으로 작동하지만 누군가가 부분적으로 페이지를 감추면 페이지가 완전히 파괴됩니다.고정 요소의 Jquery UI .position()

여기 데모입니다 : http://jsfiddle.net/lrocksmashtime/MJwdP/

는 효과 "를 클릭하십시오"를 클릭하십시오 보려면 모두 당신은 결과 창을 스크롤 한 다음 조금 스크롤 한 후 다시 클릭하지 않은 경우.

당신의 코드

답변

5

:

my: "bottom", 
at: "top", 

는 다음과 같이 읽을 수 있습니다 : 위치 "내"요소의 하단을 대상 요소 상단 "에서"는

올바른 코드는 다음과 같습니다

my: "top", 
at: "bottom", 

읽을 수 있습니다 as : "my"element top "at"대상 요소 맨 아래에

예상대로 작동합니다 : http://jsfiddle.net/MJwdP/18/

+0

답장을 고맙게 생각합니다. 지금까지 보지 못했다고는 믿을 수 없습니다. 그러나, 그것은 자동 충돌 탐지에 관한 나의 초기 질문을 언급하지 않는다. 파란 상자가 맨 위에 들어 가지 않을 것임이 분명합니다. .position에 대한 초기 호출은 충돌 감지가 상자를 대상의 맨 아래로 이동하도록합니다. 페이지를 아래로 스크롤하면 상자가 보이지 않더라도 맨 위에 배치됩니다. 이제는 이것이 버그가 아니기 때문에 나에게 발생하지만, 충돌 탐지가 위치에 놓일 요소의 가시성을 고려하면 좋을 것입니다. – Leoncelot

관련 문제