Salve a tutti, premetto che non conosco il javascript, ma (purtroppo :P) ho la necessità di creare un countdown in una mia pagina, e quindi mi ci sono dovuto cimentare. I dati vengono presi da un database, fatti gli opportuni calcoli si ricavano le ore rimanenti, i minuti rimanenti e i secondi. Si passano queste variabili ad una funzione che dovrebbe effettuare il countdown. Per ora lasciamo perdere la parte dal database e i relativi calcoli (che ho già pronti), ma passiamo direttamente al countdown. Girando quì e per la rete ho trovato un codice che dovrebbe fare al caso mio:
Insomma, ho delle variabili che contengono i minuti i secondi e le ore rimaste. Le passo ad una funzione js che dovrebbe decrementare ogni secondo (facendo i dovuti controlli). La funzione è ricorsiva, quindi attende un secondo (setTimeOut) e ricomincia a funzionare. La logica mi sembra corretta, ed è per questo che sto impazzendo. Il risultato che ottengo è questo http://mahat.altervista.org/broswer/prova.php, cioè vedo 10:10:10 (che sono i valori che ho imposto provvisoriamente nelle variabili) ma non viene decrementato un bel nulla!Codice:<?php $remainingHour = 10; $remainingMinutes = 10; $remainingSeconds = 10; ?> <html> <head> <script type="text/javascript"> var hours = <?php echo $remainingHour; ?> var minutes = <?php echo $remainingMinutes; ?> var seconds = <?php echo $remainingSeconds; ?> function setCountDown () { seconds--; if (seconds < 0){ minutes--; seconds = 59 } if (minutes < 0){ hours--; minutes = 59 } if (hours < 0){ days--; hours = 23 } document.getElementById("remain").innerHTML =hours+" hours, "+minutes+" minutes, "+seconds+" seconds"; setTimeout ( "setCountDown()", 1000 ); } </script> </head> <body onload="setCountDown();"> <table> <tr><td id="remain"><?php echo "$remainingHour hours, $remainingMinutes minutes, $remainingSeconds seconds";?></td></tr> </table> </body> </html>
Se qualcuno avesse 5 minuti per correggere quelle poche righe di codice e dirmi dove sbaglio mi farebbe un immenso favore (senza contare che mi eviterebbe un esaurimento).
Attendo fiducioso!

LinkBack URL
About LinkBacks

