Se non serve per altro, questo è ancora più basilare ed appropriato.
Un setInterval che ogni 10 sec. riporta id_pr al valore di level[0] nel contempo innescando un setTimeout che interverrà dopo 5 sec. assegnando a id_pr il valore di level[1]; setTimeout interviene e si estingue, setInterval invece ripete indefinitivamente re-innescando anche setTimeout.
Lascia una gap iniziale di 15 sec. però; che volendo si può eliminare aggiungendo
setTimeout('id_pr=level[1];', 5000);
su una riga a se' stante e che interverrà inizialment, una sola volta.
Si devono usare apici " ed apostrofi ' alternativamente, o l' escape character \ in quanto altrimenti interferiscono e bloccano lo script.
codice:
<script type="text/javascript">
var level = new Array(25, 30);
var id_pr = level[0];
setInterval('id_pr=level[0]; setTimeout("id_pr=level[1];", 5000);', 10000);
</script>
Per mostrarne il funzionamento possiamo avvalerci delle finestrelle di alert; fai attenzione a non scendere a tempi troppo rapidi che ti impedirebbero di reagire agli alert pop-up che si aprono in successione.
codice:
<html>
<head>
<script type="text/javascript">
var level = new Array(25, 30);
var id_pr = level[0];
setInterval('id_pr=level[0]; setTimeout(\'id_pr=level[1]; alert(id_pr);\', 3000); alert(id_pr);', 6000);
</script>
</head>
<body bgcolor="silver">
</body>
</html>