2012-07-25 3 views
5

jQuery 오프셋 기능을 사용하여 앵커 요소 위에 절대 배치 된 DIV를 배치했습니다. jQuery 페이지 새로 고침시 오프셋이 잘못되었습니다.

$("#marker1").offset({ top: $("#<%= hypHowItWorks.ClientID %>").offset().top, left: $("#<%= hypHowItWorks.ClientID %>").offset().left }); 
$("#marker1").width($("#<%= hypHowItWorks.ClientID %>").outerWidth()); 

내가 F5를 타격하여 페이지를 다시로드하면 페이지가로드가이 그러나, 그것은 DIV를 잘 표시 작품

가 약간있을 갈까요 곳에서의 오프셋 (offset)입니다. 그런 다음 브라우저에서 페이지를 뒤로 이동하면 올바른 위치에 다시 나타납니다.

이것은 최신 Chrome 및 Firefox에서는 발생하지만 IE9에서는 발생하지 않습니다.

아이디어가 있으십니까?

Chris.

+0

당신의 스크립트는'$ (document) .ready' 콜백 안에 있습니까? – Engineer

+0

그 오류는 (http://jsfiddle.net/5gkSr/) 재현하기는 어렵지만 Firefox에서 페이지를 열고 Ctrl + Shift + i를 누르고 마우스를 올려 _ _ marker_ 그리고 어떤 스타일 속성이 변경되었고 왜 약간 오프셋되었는지 알 수 있습니다. – Stano

+0

문서 내부 준비가되었습니다. – Chris

답변

13

$(document).ready 대신 $(window).load 이벤트에서 시도해보십시오.

나는 같은 문제가 있었고 그 트릭으로 해결할 수있었습니다!

+0

답변 해 주셔서 대단히 감사합니다. 문제가 해결되었습니다! –

관련 문제