Salve, vorrei capire il comportamento anomalo del seguente script, atto a colorare a caso 50 div generati con un ciclo for precedente.
codice:
function colora() { let elemento = document.getElementById("contenitore").getElementsByTagName("div");
let numero = elemento.length;
for (let i = 0; i < numero; i++) {
let colore = "#";
for (let c = 1; c <= 3; c++) {
let casuale = Math.floor(Math.random()*255);
let esadecimale = casuale.toString(16);
colore = colore + esadecimale;
}
elemento[i].style.backgroundColor = colore;
}
setTimeout("colora()", 500);
}
In sostanza succede che, se tolgo il setTimeout(), un buon 20% di div restano senza colore, nel senso che, da Ispeziona, noto che non gli viene assegnato il valore colore all'attributo CSS background-color, mentre col setTimeout() ho che tutti i div ricevono un colore.
Perché alcuni div saltano l'istruzione??