2012-07-25 11 views
5

Używam funkcji korekcji jQuery do umieszczenia bezwzględnie umieszczonego DIV nad elementem kotwiącym.Przesunięcie jQuery złe przy odświeżaniu strony

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

Jeżeli strona ładuje się to działa prawidłowo, jednak gdybym odświeżyć stronę, naciskając klawisz F5, wyświetla DIV nieznacznie przesunięte skąd Powinni być. Jeśli potem pójdę na stronę wstecz do przodu w przeglądarce, to znowu we właściwym miejscu !!

To jest problem z najnowszymi przeglądarkami Chrome i Firefox, ale nie z IE9.

Wszelkie pomysły?

Chris.

+0

Czy Twój skrypt znajduje się w wywołaniu zwrotnym '$ (document) .ready'? – Engineer

+0

Trudno jest [odtworzyć] (http://jsfiddle.net/5gkSr/) ten błąd, ale możesz otworzyć stronę w Firefoksie i nacisnąć 'Ctrl + Shift + i', najechać kursorem myszy i kliknąć myszką nad tym # marker_, a zobaczysz, który atrybut stylu się zmienił i dlaczego został nieco zrekompensowany. – Stano

+0

Tak, gotowy dokument wewnętrzny. – Chris

Odpowiedz

13

Wypróbuj w wydaniu $(window).load zamiast $(document).ready.

Miałem ten sam problem i mogłem go naprawić za pomocą tej sztuczki!

+0

Dziękuję bardzo za odpowiedź. Rozwiązałem mój problem! –

Powiązane problemy