Estoy tratando de hacer que el texto inicial diga Hi there, as you can see I am Sheldon Aldridge y en la matriz de sentenceArray de javascript contendrá la lista de texto que reemplazará la speech-bubble class con el HTML interno, comencé un bucle for para completar el ciclo a través de la matriz, no estoy seguro de cómo lograr eso?
Resultado: sentenceArray debe reemplazar la speech-bubble al azar con un intervalo de tiempo establecido entre cada texto aleatorio.
HTML
<div class = "speech-bubble"> <p>Hi there, as you can see I am Sheldon Aldridge</p> </div> </div>JS
let sentenceArray = [ "Fun fact about me, I love video games, I have been playing video games since I was 10 years old", "I want to be a front end developer because creating and the building is a passion of mine", "You should really look at the projects I built, you can get a good look at my skillsets", ] function textgen(sentenceArray){ let speechbubble = document.querySelector(".speech-bubble"); let speechlength = speechbubble.length; while(speechbubble){ for(let i = 0; i < speechlength; i++){ } } }Aquí hay un pequeño código que hace lo que quiere PERO tiene un problema. ¡Necesita encontrar una manera de generar un número aleatorio pero sin repetir el mismo que acaba de usar! ¡Pero creo que este es un buen punto de partida para ti!
const sentenceArray = [ "Fun fact about me, I love video games, I have been playing video games since I was 10 years old", "I want to be a front end developer because creating and the building is a passion of mine", "You should really look at the projects I built, you can get a good look at my skillsets", ]; function textgen(){ let random = Math.floor(Math.random() * sentenceArray.length );//this generates a random number between 0 and sentenceArray's length document.querySelector(".speech-bubble").innerHTML= '<p>' + sentenceArray[random] + '</p>' ; setTimeout(()=>{ textgen(); },2000);//2000 means 2secs } textgen(); <div class = "speech-bubble"> </div>Esto debería funcionar. usando setInterval con un intervalo de 2 segundos
let sentenceArray = [ "Fun fact about me, I love video games, I have been playing video games since I was 10 years old", "I want to be a front end developer because creating and the building is a passion of mine", "You should really look at the projects I built, you can get a good look at my skillsets" ]; const el = document.querySelector(".speech-bubble p"); setInterval(() => { const random = Math.floor(Math.random() * sentenceArray.length); el.innerText = sentenceArray[random]; }, 2000); <!DOCTYPE html> <html> <head> <title>Parcel Sandbox</title> <meta charset="UTF-8" /> </head> <body> <div class = "speech-bubble"> <p>Hi there, as you can see I am Sheldon Aldridge</p> </div> </div> </body> </html>