V tomto príklade sa naučíte písať program JavScript, ktorý vytvorí odpočítavací časovač.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku JavaScript:
- Matematická podlaha jazyka JavaScript ()
- Dátum a čas JavaScriptu
- Javascript setInterval ()
Príklad: Vytvorte odpočítavací časovač
// 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);
Výkon
0d 23h 59m 57s 0d 23h 59m 55s 0d 23h 59m 53s 0d 23h 59m 51s…
Vo vyššie uvedenom programe sa setInterval()
metóda používa na vytvorenie časovača.
setInterval()
Spôsob je vykonaný v danom časovom intervale (v tomto prípade 2000 milisekúnd).
new Date()
Dáva aktuálny dátum a čas. Napríklad,
let d1 = new Date(); console.log(time); // Fri Aug 28 2020 09:19:40 GMT+0545 (+0545)
getTime()
Metóda vracia počet milisekúnd od polnoci 1. januára 1970 (ECMAScript epochy) k určitému dátumu (tu aktuálny dátum).
Nasledujúci kód poskytuje čas nasledujúceho dňa v milisekundách.
new Date().getTime() + 24 * 60 * 60 * 1000;
Teraz môžeme vypočítať zostávajúci čas pomocou nasledujúceho vzorca:
let timeLeft = countDownDate - now;
Zvyšný počet dní sa počíta pomocou:
- Časový interval sa vydelí 1000, aby sa určil počet sekúnd, tj
timeLeft / 1000
- Časový interval sa potom vydelí 60 * 60 * 24, aby sa určil počet zostávajúcich dní.
Math.floor()
Funkcia sa používa na zaokrúhlenie čísla na celé číslo.
Podobné metódy sa používajú hodiny, minúty a sekundy.
Poznámka : Môžete tiež použiť vlastný začiatočný čas odpočítavania po zadaní konkrétneho dátumu.
Napríklad,
let countDownDate = new Date("Aug 5, 2025 14:22:36").getTime();