2012-01-20 3 views
0

오프셋. 글쎄, 내 맥락에서는 그렇지 않다. offset()의 어떤 속성이 원하는 동작을 파괴합니까?JQuery와 행동

답변

1

이것은 요소의 오프셋 부모가 문서이지만, 요소가 배치 된 다른 요소 안에있는 경우 항상 그렇지는 않습니다.

offset 메서드는 문서에 상대적인 위치를 반환하므로 오프셋 부모에 상대적인 위치를 반환하는 position 메서드를 대신 사용해보십시오.

+0

어쩌면 나는 너무 바보 같지만 왜 이것이 행동을 설명하는지 이해할 수 없습니다. 요소의 오프셋을 정확히 이전과 동일한 값으로 설정하면 어떻게 다른 위치로 이동할 수 있습니까? –

+0

@CaptainFim : 대부분의 경우 작동하며 jQuery는 사용할 positon을 계산 관리합니다. 그러나 요소의 'offset'을 설정하면 요소에 스타일'position : relative'도 설정됩니다. 레이아웃을 변경하면 오프셋 부모의 위치가 변경 될 수 있습니다. 따라서 'offset'을 읽을 때 원래의 오프셋 부모 위치를 사용하지만, 다시 넣으려고하면 새로운 오프셋 부모 위치가 사용됩니다. 요소는 오프셋 부모와 동일한 위치에서 끝나지 만 오프셋 부모가 이동 한 경우 페이지의 동일한 위치가 아닙니다. – Guffa