Sul mio forum ho creato un coutdown, che viene richiamato grazie al mio account qui su Altervista.
Il codice l'ho trovato su google e funziona perfettamente, però c'è una cosa che non mi piace.
In pratica quando i giorni, le ore o i minuti vanno a zero non esce scritto 0 giorni/ore/minuti, semplicemente quella voce scompare e lascia solo le altre.
ESEMPIO
Esce scritto: 2 giorni, 3 minuti
Cosa vorrei: 2 giorni, 0 ore, 3 minuti
Penso non sia una cosa difficile ma io non sono pratica di codici quindi preferisco chiedere!
Questo è il codice
Codice:
<p><script type="text/javascript">
//######################################################################################
// Author: ricocheting.com
// Version: v2.0
// Date: 2011-03-31
// Description: displays the amount of time until the "dateFuture" entered below.
// NOTE: the month entered must be one less than current month. ie; 0=January, 11=December
// NOTE: the hour is in 24 hour format. 0=12am, 15=3pm etc
// format: dateFuture1 = new Date(year,month-1,day,hour,min,sec)
// example: dateFuture1 = new Date(2003,03,26,14,15,00) = April 26, 2003 - 2:15:00 pm
dateFuture1 = new Date(ANNO,MESE,GIORNO,ORE,MINUTI,SECONDI);
// TESTING: comment out the line below to print out the "dateFuture" for testing purposes
//document.write(dateFuture +"<br />");
//###################################
//nothing beyond this point
function GetCount(ddate,iid){
dateNow = new Date(); //grab current date
amount = ddate.getTime() - dateNow.getTime(); //calc milliseconds between dates
delete dateNow;
// if time is already past
if(amount < 0){
document.getElementById(iid).innerHTML="FRASE";
}
// else date is still good
else{
days=0;hours=0;mins=0;out="";
amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs
days=Math.floor(amount/86400);//days
amount=amount%86400;
hours=Math.floor(amount/3600);//hours
amount=amount%*3600;
mins=Math.floor(amount/60);//minutes
amount=amount%60;
if(days != 0){out += days +" "+((days==1)?"giorno":"giorni")+", ";}
if(hours != 0){out += hours +" "+((hours==1)?"ora":"ore")+", ";}
out += mins +" "+((mins==1)?"minuto":"minuti")+", ";
out = out.substr(0,out.length-2);
document.getElementById(iid).innerHTML=out;
setTimeout(function(){GetCount(ddate,iid)}, 1000);
}
}
window.onload=function(){
GetCount(dateFuture1, 'countbox1');
//you can add additional countdowns here (just make sure you create dateFuture2 and countbox2 etc for each)
};
</script>
<span id="countbox1" style="font-weight:bold; font-size:GRANDEZZApx; color: #COLORE"></span></p>