2012-01-03 22 views
17

estoy utilizando este código:jQuery función animado scrollTop no está funcionando en Internet explorar

$('#goto_introduction_divcontent').click(function(){  
    var targetOffset = $('#introduction_div').offset().top;  
    $('html, body').animate({scrollTop:targetOffset}, 'slow');  
    if ($.browser.msie){  
     document.documentElement.scrollTop = targetOffset; 
    } 
}); 

Pero esto no funciona en Internet Explorer. Mi jsFiddle es here.

+0

Especifique la versión del navegador cuando crea que es un problema específico del navegador. Por cierto funcionó bien en FF3.6 e IE8. –

+0

en Chrome y Firebox funciona bien, pero en IE7 e IE9 no funciona –

Respuesta

45

Esto funciona para mí en IE8 +:

$('body, html').animate({ scrollTop: 0 }, 'slow'); 

Tal vez su instrucción IF es tirar cosas fuera?

+4

¡Ahorro de vida! Probé todas las combinaciones de window.parent, window.parent.document, window.parent.document. $ ("Body") etc., pero no había pensado probar html hasta que vi esto - html funciona en IE, funciona el cuerpo en todos los otros navegadores admitimos :) – ClarkeyBoy

+0

Puedo dar fe de que veo que esto funciona en múltiples navegadores. Me preocupa que no sea tan eficiente como podría ser y que tal vez haya alguna manera de verificar primero el soporte de animación y seleccionar la etiqueta en consecuencia. Pero ya que no tengo tiempo para eso ahora, ¡voto popular! Funciona en un apuro! – dudewad

+0

Agregar el selector 'html' lo hizo por mí. ¡Gracias! –