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&agrave; 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];
				}