No, no estoy hablando de <h1> o algo así. Estoy hablando del elemento <title> . Creé una función, que se retrasa cada 0,5 segundos más o menos, y cambia los títulos.
El script que he desarrollado lee la matriz, que incluye los títulos, y gira a partir de ella. La primera vez que lo ejecuté, no setTimeout y se ejecutó instantáneamente, no pude leer nada.
Pero cuando intenté usar la función setTimeout , comenzó a devolver undefined . ¿Cuál es el problema con este código?
for(var i = 0; i < titles.length ; i++){ setTimeout(function () {document.title = titles[i]}, 500) }Estás haciendo esto de la manera incorrecta (OMI). Usando un ciclo, disparará todos sus tiempos de timeout a la vez. Sería mejor usar setInterval
let i = 0, titles = ['title1', 'title2', 'title3']; let int = setInterval(() => { document.title = titles[i]; console.log('doc.title: ', document.title); if (i++ >= titles.length - 1) clearInterval(int); }, 500)