У овом примеру ћете научити да пишете ЈавСцрипт програм који ће створити тајмер за одбројавање.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања ЈаваСцрипт:
- ЈаваСцрипт Матх флоор ()
- ЈаваСцрипт датум и време
- Јавасцрипт сетИнтервал ()
Пример: Направите тајмер за одбројавање
// 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);
Оутпут
0д 23х 59м 57с 0д 23х 59м 55с 0д 23х 59м 53с 0д 23х 59м 51с…
У горе наведеном програму setInterval()
метода се користи за стварање тајмера.
setInterval()
Метод се извршава у датом интервалу времена (овде, 2000 милисекунди).
new Date()
Даје тренутни датум и време. На пример,
let d1 = new Date(); console.log(time); // Fri Aug 28 2020 09:19:40 GMT+0545 (+0545)
getTime()
Метод враћа број милисекунди од поноћи 1. јануара 1970. године (ЕЦМАСцрипт епоха) до одређеног датума (овде, текући датум).
Следећи код даје време следећег дана у милисекундама.
new Date().getTime() + 24 * 60 * 60 * 1000;
Сада можемо израчунати преостало време користећи следећу формулу:
let timeLeft = countDownDate - now;
Преостали број дана израчунава се помоћу:
- Временски интервал се дели са 1000 да би се одредио број секунди, тј
timeLeft / 1000
- Временски интервал се затим дели са 60 * 60 * 24 да би се одредио број преосталих дана.
Math.floor()
Функција се користи да заокружи број на цео број.
Сличне методе се користе сатима, минутима и секундама.
Напомена : Такође можете да користите прилагођено време одбројавања тако што ћете унети одређени датум.
На пример,
let countDownDate = new Date("Aug 5, 2025 14:22:36").getTime();