JavaScript program a visszaszámláló létrehozásához

Ebben a példában megtanul olyan JavScript programot írni, amely létrehoz egy visszaszámlálót.

A példa megértéséhez ismernie kell a következő JavaScript programozási témákat:

  • JavaScript Math emelet ()
  • JavaScript dátum és idő
  • Javascript setInterval ()

Példa: Hozzon létre egy visszaszámlálót

 // 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);

Kimenet

 0d 23h 59m 57s 0d 23h 59m 55s 0d 23h 59m 53s 0d 23h 59m 51s… 

A fenti programban a setInterval()módszert egy időzítő létrehozására használják.

A setInterval()módszert egy adott időközönként hajtjuk végre (itt 2000 milliszekundum).

A new Date()dátum megadja az aktuális dátumot és időt. Például,

 let d1 = new Date(); console.log(time); // Fri Aug 28 2020 09:19:40 GMT+0545 (+0545)

A getTime()módszer visszaadja az ezredmásodpercek számát 1970. január 1-jei éjféltől (EcmaScript-korszak) a megadott dátumig (itt, az aktuális dátumig).

A következő kód milliszekundumban adja meg a másnapi időt.

 new Date().getTime() + 24 * 60 * 60 * 1000;

A következő képlet segítségével kiszámíthatjuk a hátralévő időt:

 let timeLeft = countDownDate - now;

A fennmaradó napszám kiszámítása az alábbiak szerint történik:

  • Az időintervallumot elosztjuk 1000-vel a másodpercek számának meghatározásához, azaztimeLeft / 1000
  • Ezután az időintervallumot elosztjuk 60 * 60 * 24 értékkel a hátralévő napok számának meghatározásához.
  • A Math.floor()függvény a szám egész számra való kerekítésére szolgál.

Hasonló módszereket alkalmaznak órákon, perceken és másodperceken keresztül.

Megjegyzés : Használhat egyedi kezdési visszaszámlálási időt is egy adott dátum elhaladásával.

Például,

 let countDownDate = new Date("Aug 5, 2025 14:22:36").getTime();

érdekes cikkek...