U ovom ćete primjeru naučiti pisati JavScript program koji će stvoriti odbrojavanje vremena.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja JavaScript:
- JavaScript matematički pod ()
- JavaScript datum i vrijeme
- Javascript setInterval ()
Primjer: Stvorite odbrojavanje vremena
// program to create a countdown timer // time to countdown from (in milliseconds) let countDownDate = new Date().getTime() + 24 * 60 * 60 * 1000; // countdown timer let x = setInterval(function() ( // get today's date and time in milliseconds let now = new Date().getTime(); // find the interval between now and the countdown time let timeLeft = countDownDate - now; // time calculations for days, hours, minutes and seconds const days = Math.floor( timeLeft/(1000*60*60*24) ); const hours = Math.floor( (timeLeft/(1000*60*60)) % 24 ); const minutes = Math.floor( (timeLeft/1000/60) % 60 ); const seconds = Math.floor( (timeLeft/1000) % 60 ); // display the result in the element with console.log(days + "d " + hours + "h " + minutes + "m " + seconds + "s "); // clearing countdown when complete if (timeLeft < 0) ( clearInterval(x); console.log('CountDown Finished'); ) ), 2000);
Izlaz
0d 23h 59m 57s 0d 23h 59m 55s 0d 23h 59m 53s 0d 23h 59m 51s…
U gore navedenom programu setInterval()
metoda se koristi za stvaranje tajmera.
setInterval()
Postupak u u određenom intervalu vremena (ovdje, 2000 milisekundi).
new Date()
Daje trenutni datum i vrijeme. Na primjer,
let d1 = new Date(); console.log(time); // Fri Aug 28 2020 09:19:40 GMT+0545 (+0545)
getTime()
Metoda vraća broj milisekundi od ponoći 1. siječnja 1970. (ECMAScript epohe) do određenog datuma (ovdje, trenutni datum).
Sljedeći kod daje vrijeme sljedećeg dana u milisekundama.
new Date().getTime() + 24 * 60 * 60 * 1000;
Sada možemo izračunati preostalo vrijeme pomoću sljedeće formule:
let timeLeft = countDownDate - now;
Preostali broj dana izračunava se pomoću:
- Vremenski interval dijeli se s 1000 da bi se odredio broj sekundi, tj
timeLeft / 1000
- Tada se vremenski interval dijeli sa 60 * 60 * 24 da bi se odredio broj preostalih dana.
Math.floor()
Funkcija koristi za okrugli broj na cijeli broj.
Slične metode koriste se satima, minutama i sekundama.
Napomena : Možete koristiti i prilagođeno vrijeme odbrojavanja tako što ćete unijeti određeni datum.
Na primjer,
let countDownDate = new Date("Aug 5, 2025 14:22:36").getTime();