Estoy buscando hacer un efecto de máquina de escribir usando una Variable. My Variable seleccionará una cadena aleatoria listada para escribir. ¡Quiero que enumere la cadena de la misma manera, pero quiero que use el efecto de máquina de escribir para hacerlo!
No importa dónde mire, no puedo encontrar una respuesta sobre cómo hacer el efecto de máquina de escribir, ¡no escribirá la función! ¡Quiero que escriba un texto aleatorio basado en la variable! ¡Gracias!
este es mi codigo
Finalising Deletion... <progress></progress> <!DOCTYPE html> <html> <body> <br><br> <button onclick="typeWriter()">View Status</button> <p id="demo"></p> <script> var i = 0; var txt = randomText(); var speed = 50; function typeWriter() { if (i < txt.length) { document.getElementById("demo").innerHTML += (i); i++; setTimeout(typeWriter, speed); } } function randomText() { //array splashes var say = []; say[0] = "Moving Core Files..."; say[1] = "Deleting JavaScript"; say[2] = "Uploading Data..."; say[3] = "Editing HTML..."; say[4] = "Disabling Server.js"; say[5] = "Deleting Cookies..."; say[6] = "Deleted Files (3/754)"; say[7] = "Attempting URL Shutdown"; say[8] = "Uploading Deletion Program!"; say[9] = "Deleting URL..."; say[10] = "Changing CSS"; say[11] = "Deleting Inside Fules..."; //pick a random greeting var howmany = 11; var bRand = 0; bRand = Math.random(); bRand = Math.floor(bRand * howmany); //prepare and docwrite the greeting sayWhat = say[bRand]; document.write(sayWhat); document.close(); //direct type in html p element //document.getElementById("splash").innerHTML ='javascript:alert("' + '");' // I tried to make this work but it says no. } </script> </body> </html> <script style="color:white" language="JavaScript" type="text/javascript"> //script to generate random greetings </script> <script style="color:white" type="text/javascript"> </script>
Bueno, su función randomText
no devuelve nada. Entonces, la variable txt
siempre está undefined
. Debe agregar return sayWhat
al final de su función randomText
.
Además, en su función typeWriter
, está agregando el índice real de la letra, no la letra en sí. Reemplazando += (i)
con += txt[i]
eso también se resuelve.
Si no desea mostrar el valor inicial, debe eliminar la línea document.write
también.
<progress></progress> <!DOCTYPE html> <html> <body> <br><br> <button onclick="typeWriter()">View Status</button> <p id="demo"></p> <script> var i = 0; var txt = randomText(); var speed = 50; function typeWriter() { if (i < txt.length) { document.getElementById("demo").innerHTML += txt[i]; i++; setTimeout(typeWriter, speed); } } function randomText() { //array splashes var say = []; say[0] = "Moving Core Files..."; say[1] = "Deleting JavaScript"; say[2] = "Uploading Data..."; say[3] = "Editing HTML..."; say[4] = "Disabling Server.js"; say[5] = "Deleting Cookies..."; say[6] = "Deleted Files (3/754)"; say[7] = "Attempting URL Shutdown"; say[8] = "Uploading Deletion Program!"; say[9] = "Deleting URL..."; say[10] = "Changing CSS"; say[11] = "Deleting Inside Fules..."; //pick a random greeting var howmany = 11; var bRand = 0; bRand = Math.random(); bRand = Math.floor(bRand * howmany); //prepare and docwrite the greeting sayWhat = say[bRand]; //direct type in html p element //document.getElementById("splash").innerHTML ='javascript:alert("' + '");' // I tried to make this work but it says no. return sayWhat; } </script> </body> </html> <script style="color:white" language="JavaScript" type="text/javascript"> //script to generate random greetings </script> <script style="color:white" type="text/javascript"> </script>