I dette eksemplet vil du lære å skrive et JavScript-program som vil lage en nedtellingstimer.
For å forstå dette eksemplet, bør du ha kunnskap om følgende JavaScript-programmeringsemner:
- JavaScript mattegulv ()
- JavaScript dato og klokkeslett
- Javascript setInterval ()
Eksempel: Lag en nedtellingstimer
// 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);
Produksjon
0d 23h 59m 57s 0d 23h 59m 55s 0d 23h 59m 53s 0d 23h 59m 51s…
I programmet ovenfor setInterval()
brukes metoden til å lage en timer.
Den setInterval()
metode utføres ved et gitt intervall tid (her, 2000 millisekunder).
Dette new Date()
gir gjeldende dato og klokkeslett. For eksempel,
let d1 = new Date(); console.log(time); // Fri Aug 28 2020 09:19:40 GMT+0545 (+0545)
Den getTime()
metoden returnerer antall millisekunder fra midnatt 1 januar 1970 (ECMAScript epoken) til den angitte datoen (her, gjeldende dato).
Den følgende koden gir neste dags tid i millisekunder.
new Date().getTime() + 24 * 60 * 60 * 1000;
Nå kan vi beregne gjenværende tid ved hjelp av følgende formel:
let timeLeft = countDownDate - now;
Gjenværende antall dager beregnes ved hjelp av:
- Tidsintervallet er delt på 1000 for å bestemme antall sekunder, dvs.
timeLeft / 1000
- Tidsintervallet deles deretter med 60 * 60 * 24 for å bestemme antall dager som er igjen.
- Den
Math.floor()
funksjonen brukes for å avrunde nummeret til et helt tall.
Lignende metoder brukes i timer, minutter og sekunder.
Merk : Du kan også bruke en egendefinert nedtellingstid ved å sende en bestemt dato.
For eksempel,
let countDownDate = new Date("Aug 5, 2025 14:22:36").getTime();