[JAVASCRIPT] Pause in un ciclo while
Posted by JaM on 21-04-2004 14:22
Ho uno javascript che deve generarmi una finestra delle dimensioni di una foto.
A volte capita che il precaricamento della foto non sia immediato e cosi' ottengo una finestra di dimensioni sbagliate (le dimensioni della foto precedente)

Ho fatto allora queste due funzioni, che vengono richiamate in sequenza con un onClick:
code:
var counter, photourl, mod, flag; var photo = new Image(); function defineVars(a,b) { counter=10; flag=true; photourl=a; mod=b; photo.src=(photourl); } function createNewWindow() { while(flag) { if (photo.complete) { newWindow = window.open("","","width="+photo.width+",height="+photo.height); if (newWindow != null) { newWindow.document.write("<HTML>...</HTML>"); flag=false; } } else { if (counter>0) { counter--; /*QUA DOVREBBE ESSERCI UNA PAUSA*/ } else { alert("Image load error"); flag=false; } } } }

Come faccio a farlo attendere un tot ad ogni ciclo prima di ricontrollare se l'immagine e' caricata?
Cercando in giro ho trovato solo le funzioni setTimeout(func, seconds) e setInterval(func, seconds), ma entrambe vogliono come parametro un'altra funzione da richiamare dopo un certo numero di secondi e io non voglio usare questo metodo. Infatti se la funzione ne richiama un'altra o richiama se stessa la popup viene bloccata da sistemi come la google toolbar perche' riconosciuta come "popup non richiesta".
Powered by: vbHome (lite) v3.8 and vBulletin v2.3.1
Copyright © 2000 - 2002 Jelsoft Enterprises Limited