Sto provando a creare un conto alla rovescia basato sul tempo. Non è basato su date attuali. Il tempo iniziale che verrà estratto sarà da un file php separato. Questo sarà per un gioco basato su browser. Quando qualcuno fa clic sul pulsante per avviare questo script. controllerà se sono soddisfatti determinati requisiti e in tal caso verrà avviato questo script. In base al livello dell'oggetto, trascinerà il timer iniziale per quel livello procedurale. Spero che abbia un senso. Comunque, ho basato lo script del timer sul primo codice che ho fornito.Javasacript Timer conto alla rovescia in giorni, ore, minuti, secondi
Questo script rappresenta solo i minuti e i secondi. L'ho modificato per includere anche giorni e ore. Da qualche parte nel processo ho incasinato e lo script non funziona affatto. Non sono nemmeno sicuro se questo sarebbe il metodo migliore per calcolarlo. Quindi, se hai un metodo più pulito per farlo, per favore condividi. Grazie in anticipo.
Questo script si basa su uno script di minuti/secondi che ho visto. Ecco la fonte originale:
<span id="countdown" class="timer"></span>
<script>
var seconds = 60;
function secondPassed() {
var minutes = Math.round((seconds - 30)/60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
document.getElementById('countdown').innerHTML = minutes + ":" + remainingSeconds;
if (seconds == 0) {
clearInterval(countdownTimer);
document.getElementById('countdown').innerHTML = "Buzz Buzz";
} else {
seconds--;
}
}
var countdownTimer = setInterval('secondPassed()', 1000);
</script>
Ecco lo script modificato che sto cercando di includere giorni, ore, minuti e secondi.
<span id="countdown"></span>
<script>
var current_level = 93578;
function timer() {
var days = Math.round(current_level/86400);
var remainingDays = Math.round(current_level - (days * 86400));
if (days <= 0){
days = current_level;
}
var hours = Math.round(remainingDays/3600);
var remainingHours = Math.round(remainingDays - (hours * 3600));
if (hours >= 24){
hours = 23;
}
var minutes = Math.round(remainingHours/60);
var remainingMinutes = Math.round(remainingHours - (minutes * 60));
if (minutes >= 60) {
minutes = 59;
}
var seconds = Math.round(remainingMinutes/60);
document.getElementById('countdown').innerHTML = days + ":" + hours ":" + minutes + ":" + seconds;
if (seconds == 0) {
clearInterval(countdownTimer);
document.getElementById('countdown').innerHTML = "Completed";
}
}
var countdownTimer = setInterval('timer()', 1000);
</script>
Con javascript è molto meglio pubblicare demo di lavoro. –