Un countdown per Natale? Meglio se in JavaScript

Leggo da Napolux una funzioncina in PHP per calcolare istantaneamente quanto manca al prossimo Natale. Può essere una buona soluzione, ma perchè essere tanto precisi fino ad indicare minuti e secondi quando poi il risultato, un secondo dopo il caricamento della pagina risulta vecchio e pure formalmente sbagliato?

Meglio usare JavaScript. Il countdown prosegue senza bisogno di aggiornare la pagina. E’ sempre esatto perchè eseguendosi lato client, il conteggio non avrà mai problemi di fuso orario. E’ più 2.0 per quanto inutile nei fatti sia un’affermazione del genere.

<script type="text/javascript">
 function countdown(a,m,g){
   var d = new Date(a,m,g).valueOf();
   var e = new Date().valueOf();
   var h = Math.round(e-d);

     dday=Math.abs(Math.floor(h/(60*60*1000*24)*1));
     dhour=Math.abs(Math.floor((h%(60*60*1000*24))/(60*60*1000)*1));
     dmin=Math.abs(Math.floor(((h%(60*60*1000*24))%(60*60*1000))/(60*1000)*1));
     dsec=Math.abs(Math.floor((((h%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1));
     document.getElementById(‘conta’).innerHTML = ‘Il Natale arriver&agrave; fra<br />’+dday+’ giorni, ‘+dhour+’ ore, ‘+dmin+’ minuti e ‘+dsec+’ secondi’;
     setTimeout("countdown("+a+","+m+","+g+")",1000);
 }
</script>

Poche righe e questo è il risultato.

Calculating…

13 thoughts on “Un countdown per Natale? Meglio se in JavaScript”

  1. te lo dico in dialetto…così nessuno mi capisce: "falla comu vuoi…sempri cucuzza è!" πŸ™‚ πŸ™‚

  2. @ moticanus: però si 'nta cucuzza ci minti u pipi, all'uttimu a cucuzza sapi bella e no ri cucuzza sicca e curnuta πŸ™‚

    @ Lorenzo: traduci questa! πŸ˜€

    @ Napolux: qualsiasi cosa si muove è 2.0. Du(.0) palle…

  3. @ dd: la funzione è già predisposta per la cosa.

    function countdown(a,m,g)

    a = anno
    m = mese
    g = giorno

    Quanto manca al prossimo capodanno?

    countdown(2008,0,1)

    Ricorda che i mesi si contano da zero a undici.

  4. Il tempo aumenta perché il countdown è settato sul natale 2008. Avendolo sforato anziché sottrarre i giorni li aggiunge.

Comments are closed.