Installa la nostra toolbar!
Articoli / Javascript
addthis
Timer e Intervalli in Javascript
Author: Tafaz
Visits: 2937
Date: 07.01.2007

Spesso quando si scrive del codice Javascript si ha la necessità di attendere del tempo tra l'esecuzione di un'instruzione ed un'altra, ad esempio attendere il caricamento di un'immagine quando si usa l'oggetto Image, per ottenere questo spesso si incappa nell'errore comune di eseguire un ciclo che attende la verifica di una condizione come nel listato seguente:

img = new Image(); img.src="preload.gif"; while(img.loaded!=true){ }

Non essendo Javascript MultiThread questo ciclo while eseguirà un loop infinito che blocca il browser dell'utente facendo aumentare l'uso della CPU al 100%. Per evitare questo problema si deve usare la funzione setTimeout che imposta un timer in millisecondi e allo scadere di questi esegue un'istruzione e la inseriremo in una funzione ricorsiva

var idTimer; img = new Image();
img.src="preload.gif";
isLoaded(img);

function isLoaded(img){
if(img.complete!=true){
idTimer = setTimeout('isLoaded(img)',50);
} else {
alert('Immagine caricata');
}
}




Page 1 of 2 >>


Se vuoi discutere con noi su questo articolo o comunque vuoi porci delle domande usa il nostro Forum

COMMENTI

Aggiungi un commento! +
(I commenti verranno moderati prima della pubblicazione)



Top