2010-11-22 10 views

Respuesta

314

Usted sólo puede animar a desplazarse por la página por la animación de la propiedad scrollTop, no requiere plug-in, así:

$(window).load(function() { 
    $("html, body").animate({ scrollTop: $(document).height() }, 1000); 
}); 

Nota el uso de window.onload (cuando se cargan las imágenes ... que ocupan la altura) en lugar de document.ready.

Para ser técnicamente correcto, es necesario restar la altura de la ventana, pero las obras anteriores:

$("html, body").animate({ scrollTop: $(document).height()-$(window).height() }); 

para desplazarse hasta una identificación particular, el uso de su .scrollTop(), así:

$("html, body").animate({ scrollTop: $("#myID").scrollTop() }, 1000); 
+0

Puedes controll la velocidad? Y el #ID al que va? – AnApprentice

+0

@AnApprentice - Si desea desplazarse a una ID particular, se vería como '$ (" html, body "). Animate ({scrollTop: $ (" # myID "). ScrollTop()}, 1000);' para lleva un segundo. –

+2

Otro problema, es cuando parece hecho, y luego el usuario intenta recuperarse, por un momento está bloqueado, y produce un efecto muy estremecedor, evitando que el usuario se desplace hacia arriba – AnApprentice

14

algo como esto:

var $target = $('html,body'); 
$target.animate({scrollTop: $target.height()}, 1000); 
+0

Intenté actualizar el destino a .write-comment y no funcionó. que se está inyectando en la página? – AnApprentice

+0

es .write-comment un contenedor de desbordamiento? –

3
$("div").scrollTop(1000); 

Funciona para mí. Se desplaza hacia la parte inferior.

+4

No si su página es más de 1000px. – Volomike

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

Tan simple como esta, 9999 altura de página ... gran alcance para que pueda llegar al fondo.

3

El uso de 'document.body.clientHeight' se puede obtener la altura visto de los elementos del cuerpo

$('html, body').animate({ 
    scrollTop: $("#particularDivision").offset().top - document.body.clientHeight + $("#particularDivision").height() 
}, 1000); 

esta se desplaza en el id 'particularDivision'

0

js

var el = document.getElementById("el"); 
el.scrollTop = el.scrollHeight - el.scrollTop; 
+0

Aunque este código puede ayudar a resolver el problema, no explica _por qué_ y/o_how_ responde la pregunta. Proporcionar este contexto adicional mejoraría significativamente su valor educativo a largo plazo. Por favor [edite] su respuesta para agregar una explicación, incluyendo qué limitaciones y suposiciones se aplican. –

0

El guiones mencionados en respuestas anteriores, como:

$("body, html").animate({ 
    scrollTop: $(document).height() 
}, 400) 

no funcionará en Chrome y habrá saltos en Safarien caso dehtml etiqueta en CSS tiene overflow: auto; conjunto de propiedades. Me llevó casi una hora descubrirlo.

0
$('#pagedwn').bind("click", function() { 
     $('html, body').animate({ scrollTop:3031 },"fast"); 
     return false; 
}); 

Esta solución funcionó para mí. Está trabajando en la página Desplazarse hacia abajo rápidamente.

1

Puede probar este

var scroll=$('#scroll'); 
scroll.animate({scrollTop: scroll.prop("scrollHeight")}); 
+0

Gracias, la solución más confiable y moderna. – AlexioVay

Cuestiones relacionadas