Desplácese automáticamente hasta la parte inferior de la página

Resuelto jat asked hace 12 años • 32 respuestas

Tengo una lista de preguntas. Cuando hago clic en la primera pregunta, debería llevarme automáticamente a un elemento específico en la parte inferior de la página.

¿Cómo puedo hacer esto con jQuery?

jat avatar Jul 30 '12 12:07 jat
Aceptado

jQuery no es necesario. La mayoría de los resultados principales que obtuve de una búsqueda en Google me dieron esta respuesta:

window.scrollTo(0, document.body.scrollHeight);

Cuando tenga elementos anidados, es posible que el documento no se desplace. En este caso , debe apuntar al elemento que se desplaza y utilizar su altura de desplazamiento.

nestedElement.scrollTo(0, nestedElement.scrollHeight);

Algunas fuentes adicionales que puedes consultar:

  • http://www.alecjacobson.com/weblog/?p=753
  • http://www.mediacollege.com/internet/javascript/page/scroll.html
  • http://www.electrictoolbox.com/jquery-scroll-bottom/
Zhihao avatar Jul 30 '2012 05:07 Zhihao

Para desplazar toda la página hasta el final:

const scrollingElement = (document.scrollingElement || document.body);
scrollingElement.scrollTop = scrollingElement.scrollHeight;

Puedes ver la demostración aquí.

Para desplazar un elemento específico hasta el final:

const scrollToBottom = (id) => {
    const element = document.getElementById(id);
    element.scrollTop = element.scrollHeight;
}

Aquí está la demostración

Y así es como funciona:

ingrese la descripción de la imagen aquí

Ref: desplazamiento superior , altura de desplazamiento , altura del cliente

ACTUALIZACIÓN: Las últimas versiones de Chrome (61+) y Firefox no admiten el desplazamiento del cuerpo, consulte: https://dev.opera.com/articles/fixing-the-scrolltop-bug/

Tho avatar Oct 18 '2015 02:10 Tho

Implementación de vainilla JS:

element.scrollIntoView(false);

https://developer.mozilla.org/en-US/docs/Web/API/element.scrollIntoView

shmuli avatar Jul 15 '2014 19:07 shmuli

Puede usar esto para bajar la página en formato de animación.

$('html,body').animate({scrollTop: document.body.scrollHeight},"fast");
user5978325 avatar Feb 25 '2016 05:02 user5978325

un delineador para suavizar el desplazamiento hacia la parte inferior

window.scrollTo({ left: 0, top: document.body.scrollHeight, behavior: "smooth" });

Para desplazarse hacia arriba simplemente configúrelo topen0

TLJ avatar Sep 26 '2019 03:09 TLJ