He visto bastantes publicaciones antiguas con problemas similares, pero no he podido encontrar una solución que funcione para mí. En mi proyecto de servidor blazor, tengo un script que debe desplazar un div dentro de un componente en las páginas. (línea de tiempo de los eventos). Este div debería desplazarse al cargar (hasta la parte inferior de los elementos). Ahora, si el timelone no está a la vista cuando se carga (más abajo en la página, esto es por diseño), también mostraría el div (desplazar la página hacia abajo), donde solo quiero que el div se desplace hacia abajo. Esto es lo que uso actualmente. ¿Cuál es la forma más fácil de hacer que solo se desplace el div y no la página, incluso si el div no está visible?
La razón por la que también especifico un elemento en mi secuencia de comandos es que si los eventos ocurren más arriba (cambios de estado de eventos, etc.), entonces requiere visualización, por lo que se desplazará hacia arriba para llegar al elemento de enfoque. En la carga de la página, solo especificaría el índice del último elemento.
<script> function ListViewScroll(args) { let div = document.getElementById('lstTimeLine'); div.querySelector('[data-uid="' + args.id + '"]').scrollIntoView({ behavior: 'smooth' }); } </script>Muchas gracias por la ayuda de antemano.
Para el punto de Mister Magoo, esto es lo que funcionó para mí:
function ScrollTimelineToBottom() { let div = document.getElementById('lstTimeLine'); div.scrollTop = div.scrollHeight; } ;Lo siento por la publicación duplicada.
Debe usar su estilo css en su página, para que su página no tenga barras de desplazamiento y tampoco se desplace
html, body { overflow-y: hidden; }