2010-01-23 9 views

Respuesta

90
$('a[href=#top]').click(function(){ 
    $('html, body').animate({scrollTop:0}, 'slow'); 
}); 

¿Quizás?

+1

¿Alguna idea de por qué '$ ('html, body')' es obligatorio? Lo intenté con '$ (ventana)', pero no pareció tener ningún efecto, lo que esperaba ver (como recuerdo), ¿es el objeto ventana el que hace un seguimiento de la posición de desplazamiento? –

+6

ventana es veiwport pero necesita animar el documento html, también no necesita cuerpo $ ("html"). Animate ({scrollTop: $ ("# whatever_id_you_want_to_go_to"). Offset(). Top}, 1200); – fullstacklife

+2

Creo que necesitas 'cuerpo' ya que' html' no funcionará en todos los navegadores. –

10

Cuando pasa 50 como el segundo parámetro para animar, es decir, 50 milisegundos. Consulte la documentación animate. Pase un número mayor o, como sugirió c0mrade, simplemente pase 'lento'.

0

se puede establecer el tiempo de desplazamiento superior

$('a[href=#top]').click(function(){ 
$('body').animate({ 
    scrollTop: 0},4000);}); 
0
$('a[href=\\#top]').click(function(){ 
    $('body').animate(
    { 
     scrollTop: 0 
    }, 
    2000 
); 
}); 

El # debe ser escapado \\ #.

Cuestiones relacionadas