2012-07-25 27 views
5

Estoy usando la función de desplazamiento jQuery para colocar un DIV completamente posicionado sobre un elemento de anclaje.Compensación de jQuery incorrecta al actualizar la página

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

Cuando se carga la página hasta que esto funciona bien, sin embargo, si vuelvo a cargar la página pulsando F5, muestra el DIV ligeramente desplazado desde donde Ha de hacerse. Si luego voy a la página de atrás hacia adelante en el navegador está en el lugar correcto otra vez !!

Este es un problema con los últimos Chrome y Firefox, pero no con IE9.

¿Alguna idea?

Chris.

+0

¿Su script está dentro de la devolución de llamada '$ (document) .ready'? – Engineer

+0

Es difícil [reproducir] (http://jsfiddle.net/5gkSr/) ese error, pero puede abrir la página en Firefox y presionar 'Ctrl + Shift + i', colocar el cursor sobre ella y hacer clic con el mouse sobre esa _ # marker_ y verá, qué atributo de estilo ha cambiado y por qué pasó a ser ligeramente obsoleto. – Stano

+0

sí documento interno listo. – Chris

Respuesta

13

Pruébelo en el evento $(window).load en lugar de $(document).ready.

Tuve el mismo problema y podría solucionarlo con ese truco.

+0

Muchas gracias por su respuesta. ¡Ha solucionado mi problema! –

Cuestiones relacionadas