Próbuję stworzyć oparty na czasie zegar odliczający. Nie opiera się na current_dates. Początkowy czas, który zostanie pobrany, będzie pochodził z oddzielnego pliku php. Będzie to dotyczyć gry opartej na przeglądarce. Kiedy ktoś kliknie przycisk, aby zainicjować ten skrypt. sprawdzi, czy spełnione są pewne wymagania, a jeśli tak, to zainicjuje ten skrypt. Na podstawie poziomu obiektu będzie pobierał początkowy timer dla tego poziomu postępowania. Mam nadzieję, że ma to sens. W każdym razie oparłem skrypt timera na pierwszym dostarczonym przeze mnie kodzie.Executacript Minutnik w dniach, godzinach, minutach, sekundach
Ten skrypt uwzględnia tylko minuty i sekundy. Zmodyfikowałem go tak, aby obejmował również dni i godziny. Gdzieś w tym procesie zawiodłem, a scenariusz w ogóle nie działa. Nie jestem też całkiem pewien, czy byłaby to najlepsza metoda do obliczenia tego. Tak więc, jeśli masz do tego czystszą metodę, udostępnij. Z góry dziękuję.
Ten skrypt jest oparty na skrypcie minut/sekund, który widziałem. Oto oryginalne źródło:
<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>
Oto zmodyfikowany skrypt, który próbuję uwzględnić w dniach, godzinach, minutach i sekundach.
<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>
. Z javascriptem zdecydowanie lepiej jest publikować działające wersje demonstracyjne. –