SetTimeout, principi base

sunlightbanana

Utente Attivo
26 Ott 2011
96
0
6
Salve,
sto iniziando a scoprire setTimeout, volevo sapare cortesemente il perché non accada niente se scrivo questo codice:

Codice:
<html>
<head>

</head>

<body>
<script type="text/javascript">
function periscope()
{
	message= "Preparare" ;
	
	setTimeout("alert(message)",2000);
    	
}

</script>
</body>
</html>

Grazie
 
Ciao,

non accade niente perchè l'esempio postato non ha associato un gestore di eventi onload o un onclick

con onload, caricami la funzione indicata nello script e mostrami (nel tuo caso un msgbox di alert dopo 2 secondi)

Codice:
<html>
<head>

</head>

<body>
<script type="text/javascript">

function periscope()
{
	message= "Preparare";
	
	setTimeout("alert(message)",2000);
    	
}
onload=periscope;

</script>
</body>
</html>

il gestore di eventi onload adesso è dentro lo script ma puoi inserirlo nel tag <body della pagina che lo contiene

<body onload="periscope()">

gli script trane alcuni casi sempre tra <head> e </head>

per richiamare la funzione con un click gestore di eventi onclick

togli dall'esempio onload=periscope;

e lo richiami cosi:

Codice:
<a href="#" onclick="javascript:periscope(); return false;">CLICCA</a>

Altro metodo per l'onload è di scriverlo prima della function

Codice:
<script type="text/javascript">
message = "Preparare";
window.onload = function() {
setTimeout("alert(message)",2000);
}
</script>

il setTimeout ripete all'infinito l'esecuzione di una funzione con il tempo impostato in millesimi di secondo, la funzione nel tuo caso viene interrota dall'alert, in altri casi la funzione verrebbe ripetuta all'infinito ogni 2 secondi, a meno di una funzione per fermarla chiamata clearTimeout

Valeria.
 

Discussioni simili