Il sottostante codice che ho scritto, dovrebbe, sotto chiamata alla funzione "precarica" tramite pulsante, caricare delle immagini e, mentre lo fa, mostrare lo status di caricamento, con immagini caricate e percentuale. Ora, non capisco perché se premo il pulsante mi dà subito che ha caricato tutte le immagini. Sicuramente non le ha caricate tutte, perché sono più di 1000 e quando, al posto di utilizzare questo codice, mettevo semplicemente il ciclo for mostrato come secondo codice, ci metteva circa un minuto a caricare e poi iniziava l'animazione delle immagini (non inserita nel codice perché superflua). Se provo ad avviare l'animazione subito dopo il caricamento con il codice nuovo, questa si avvia ma si blocca a un certo punto, perché in realtà non ha caricato tutte le immagini. Avete idee? Grazie
codice:function precarica(){ imgObj = document.getElementById("imgSwap"); imgObj.src = "http://www.romaeurmeteo.it/images/caricamento.jpg"; for(i=min; i < tot; i=i+dx) { imgO[i] = new Image(); imgO[i].src = Pic[i]; percentuale = Math.round(imgindex/da_caricare*100); car = document.getElementById("loading"); car.innerHTML = "Immagini caricate: "+imgindex+"/"+da_caricare+" ("+percentuale+"%)"; imgindex++; } car = document.getElementById("loading"); car.innerHTML = "Immagini caricate: "+da_caricare+"/"+da_caricare+" ("+percentuale+"%)"; imgObj = document.getElementById("imgSwap"); imgObj.src = imgO[currImg].src; load_button = document.getElementById("load_button"); load_button.innerHTML = "caricamento effettuato!"; } window.onload=function() { imgObj = document.getElementById("imgSwap"); imgObj.src = "http://www.romaeurmeteo.it/images/caricamento.jpg"; vel_txt = document.getElementById("vel"); vel_txt.innerHTML = "Velocità animazione: "+fps+" fps"; percentuale = Math.round(imgindex/da_caricare*100); car = document.getElementById("loading"); car.innerHTML = "Immagini caricate: "+imgindex+"/"+da_caricare+" ("+percentuale+"%)"; load_button = document.getElementById("load_button"); load_button.innerHTML = load_button_txt; }codice:for(i=min; i < tot; i=i+dx) { imgO[i] = new Image(); imgO[i].src = Pic[i]; }