Estoy intentando crear una terminal/consola en mi sitio web. Encontré las funciones para desplazarme hacia abajo en una página usando javascript, que son window.scrollTo(0,document.body.scrollHeight); y window.scrollTo(0,document.querySelector(".fakeScreen").scrollHeight) . Sin embargo, no puedo hacer que ninguno de ellos funcione. Los puse en diferentes lugares; en la parte inferior de mi función writeText y en cada una de mis funciones, sin embargo, ninguna funcionó.
Intento uno (función writeText):
function writeText(data) { output.innerHTML += `${data}<br>`; window.scrollTo(0,document.body.scrollHeight); }Intento dos (en cada una de mis funciones):
function whoami() { writeText(` <br> hi! i'm gxzs, bla bla bla.. <br>`) window.scrollTo(0,document.body.scrollHeight); }Css (terminal, barra de desplazamiento)
.terminalScreen { background-color: #282828; opacity: 90%; box-sizing: border-box; position: relative; width: 100%; height: 100%; overflow-y: scroll; width: 1500px; height: 800px; margin: 0 auto; padding: 20px; vertical-align: center; } .terminalScreen::-webkit-scrollbar { width: 12px; } .terminalScreen::-webkit-scrollbar-track { background: #282828; } .terminalScreen::-webkit-scrollbar-thumb { background-color: #141414; border-radius: 15px; border: 3px solid #282828; } .terminalScreen .output { width: 100%; color: #fff; font-size: 14pt; font-family: 'Roboto Mono', monospace; }El objeto window al que se dirige es el objeto de window expuesto por el navegador y no la ventana del terminal.
Para desplazar la barra de desplazamiento del terminal, debe apuntar al elemento con la barra de desplazamiento dentro del terminal. Como esto:
document.querySelector(".terminalScreen").scrollTo(0, document.body.scrollHeight)