Estoy tratando de animar el desplazamiento a una ID particular al cargar la página. He investigado mucho y me encontré con esto:
$("html, body").animate({ scrollTop: $('#title1').height() }, 1000);
pero parece que esto comienza desde la ID y se anima a la parte superior de la página?
El HTML (que está a la mitad de la página) es simplemente:
<h2 id="title1">Title here</h2>

Respuestas:
Solo estás desplazando la altura de tu elemento. offset () devuelve las coordenadas de un elemento relativo al documento, y
topparam le dará la distancia del elemento en píxeles a lo largo del eje y:Y también puede agregarle un retraso:
fuente
scroll. Con eso en mente, agregaría la posición de desplazamiento actual debodya laoffset().topposición del elemento que queremos ver. La suma resultante es el valor al que queremos desplazarnos.$('html, body').animate({ scrollTop: ($('html, body').scrollTop() + $('#title1').offset().top) }, 1000);.offset().tople daría un número negativo en este caso. Y esto realmente solo funcionabodyyhtmlyaoffset().topque le dará el desplazamiento superior del documento, no el padre de desplazamiento previsto.Solución javascript pura con función scrollIntoView () :
El parámetro 'suave' de PS ahora funciona desde Chrome 61 como se menciona en julien_c en los comentarios.
fuente
jquery-animate-body-for-all-browsers .
fuente
Hay un complemento jquery para esto. Desplaza el documento a un elemento específico, de modo que quede perfectamente en el medio de la ventana gráfica. También admite funciones de animación para que el efecto de desplazamiento se vea súper suave. Mira este enlace .
En tu caso el código es
fuente
intente con el siguiente código. crear elementos con desplazamiento de página de nombre de clase y mantener el nombre de identificación
hrefde los enlaces correspondientesfuente
para desplazamiento simple, use el siguiente estilo
altura: 200 px; desbordamiento: desplazamiento;
y use esta clase de estilo que div o sección desea mostrar desplazamiento
fuente