2012-05-11 21 views
6

Me enfrenta un problema con jquery animate scrollTop a un div definido.navegadores cruzados jquery animate scrollTop

que utiliza este código para animar el desplazamiento:

$('body').animate({scrollTop: $('#sections_display').offset().top-100}, 500, function(){ 
    $('#ajax_load').load('file.php'); 
}); 

Pero esto no funciona en Firefox o en IE.

Y cuando uso $('html').animate en lugar de $('body').animate, no funciona en Chrome.

Intenté también utilizar ambos: $('html,body').animate pero el problema es que la función de devolución de llamada $('#ajax_load').load('file.php'); se ejecuta dos veces y esto llama al archivo 2 veces.

me temporal resuelto el problema mediante el uso de php pero esta solución me obligó a repetir código de 2 veces en cada página para hacer 2 series de los navegadores que soportan $('body').animate y $('html').animate.

He buscado aquí y encontré esto: jquery animate scrolltop callback Pero no funcionó.

También probé:

$(window).animate

$(document).animate

$('#container-div').animate

Pero no hay manera de lograr esto.

¿Puedo encontrar un método de navegador cruzado para lograr esto?

Respuesta

1

solución Hacky puede hacer el truco ...

$('html,body').animate({scrollTop: $('#sections_display').offset().top-100}, 500); 

setTimeout(function(){ 
    $('#ajax_load').load('file.php'); 
}, 500); 
+0

retraso (500) no tuvo ningún efecto, no sé por qué? Probé la demora (10000) pero el mismo resultado "sin demora" – semsem

+0

Himm ... sí parece que el método load() no hará cola, pero he agregado otra solución a mi respuesta que debería ser el truco – trapper

+0

Funcionó , gracias – semsem

1

Como se mencionó en this post

No funcionará en todos los navegadores. No todos admiten el desplazamiento cuando se aplica a 'html', algunos requieren 'cuerpo'. Esto varía dependiendo de si estás en modo peculiar o no. Es aún más problemático cuando la animación de marcos flotantes

El tema de arranque terminó la aplicación de lo animado a html,body en lugar de uno al otro.

+0

Sí, leí esta publicación, pero decidí buscar y preguntar si hay algún truco para ello – semsem

Cuestiones relacionadas