Javascript e countdown multipli

Tony Lucente

Nuovo Utente
14 Feb 2013
6
0
0
Buonasera ragazzi. Ho scritto uno script in javascript che sostanzialmente prende una data e un orario e fa un countdown fino alla data e l'ora attuale. Il problema sorge quando faccio richiamare lo stesso script in più div della mia pagina con parametri diversi, poiche solo uno funzione in tempo reale, gli altri rimangono fermi. Pubblico sotto lo script:

Codice:
function countdown(fineanno, finemese, finegiorno, fineore, fineminuti, finesecondi, nomediv)
{
var_div=nomediv;
var_anno=fineanno;
var_mese=finemese;
var_giorno=finegiorno;
var_ore=fineore;
var_minuti=fineminuti;
var_secondi=finesecondi;
data_scandeza= new Date(var_anno,var_mese-1,var_giorno,var_ore,var_minuti,var_secondi);
data_oggi= new Date();
differenza=(data_scandeza-data_oggi);
giorni=parseInt(differenza/86400000);
differenza=differenza-(giorni*86400000);
ore=parseInt(differenza/3600000);
differenza=differenza-(ore*3600000);
minuti=parseInt(differenza/60000);
differenza=differenza-(minuti*60000);
secondi=parseInt(differenza/1000);
differenza=differenza-(secondi*1000);
if (giorni <= "0" && ore <= "0" && minuti <= "0" && secondi <= "0")
{
document.getElementById(nomediv).innerHTML="Tempo Scaduto";
}
else
{
document.getElementById(nomediv).innerHTML=giorni +' giorni '+ore+' ore '+minuti+' min '+secondi+' sec';
setTimeout("countdown(var_anno, var_mese, var_giorno, var_ore, var_minuti, var_secondi, var_div)",1000)
}
}

Qualcuno saprebbe come risolvere?
 
Ultima modifica:
Posto l'intera pagina per chiarire meglio

Codice:
<html>
<head>
<title>Tempo</title>
<script type="text/javascript">
function array(){
classi = new Array();
classi[0]= new Array("2013","02","26", "19","00","00","div1");
classi[1]= new Array("2013","04","26", "23","00","00","div2");



for  (i = 0; i < classi.length; i++) {

fineAnno=(classi[i][0]);
fineMese=(classi[i][1]);
fineGiorno=(classi[i][2]);
fineOra=(classi[i][3]);
fineMinuti=(classi[i][4]);
fineSecondi=(classi[i][5]);
idDiv=(classi[i][6]);

countdown(fineAnno, fineMese, fineGiorno, fineOra, fineMinuti, fineSecondi, idDiv);

  
    }
}
function countdown(fineanno, finemese, finegiorno, fineore, fineminuti, finesecondi, nomediv)
{
var_div=nomediv;
var_anno=fineanno;
var_mese=finemese;
var_giorno=finegiorno;
var_ore=fineore;
var_minuti=fineminuti;
var_secondi=finesecondi;
data_scandeza= new Date(var_anno,var_mese-1,var_giorno,var_ore,var_minuti,var_secondi);
data_oggi= new Date();
differenza=(data_scandeza-data_oggi);
giorni=parseInt(differenza/86400000);
differenza=differenza-(giorni*86400000);
ore=parseInt(differenza/3600000);
differenza=differenza-(ore*3600000);
minuti=parseInt(differenza/60000);
differenza=differenza-(minuti*60000);
secondi=parseInt(differenza/1000);
differenza=differenza-(secondi*1000);
if (giorni <= "0" && ore <= "0" && minuti <= "0" && secondi <= "0")
{
document.getElementById(nomediv).innerHTML="Tempo scaduto";
}
else
{
document.getElementById(nomediv).innerHTML=giorni +' giorni '+ore+' ore '+minuti+' min '+secondi+' sec';
setTimeout("countdown(var_anno, var_mese, var_giorno, var_ore, var_minuti, var_secondi, var_div)",1000);
}
}
</script>
</head>
<body>



<div id="div1"></div>
<div id="div2"></div>
<input type="submit" onClick="array()" id="1">

</body>
</html>
 
Ultima modifica:

Discussioni simili