Webprogramozás mindenkinek

Kód Akadémia

A weboldal autómatikus frissítése a Javascript setInterval() és visszaszámláló használatával

2017. december 04. - GeorgeL

javascript-1.jpg

A JavaScript setInterval() metódus segítségével hívhatsz egy függvényt vagy végrehajthatsz egy általad megadott kódot, meghatározott időközönként. Ebben a bejegyzésben mutatok két egyszerű példát arra, hogyan tudod frissíteni vagy újratölteni a weboldalt minden 10. másodpercben a JavaScript setInterval()használatával és hogy tudod megállítani a frissítést a clearInterval() segítségével.

A setInterval() metódusának szintaxisa

Window.setInterval(code, delay)

  • code reprezentálja a futtatni kívánt függvényt vagy egyéb kódot
  • delay határozza meg mennyi késleltetés legyen a code futtatása előtt, ezredmásodpercben megadva

setInterval() mindaddig hívja a függvényt (code), amíg a clearInterval() meghívásra nem kerül, vagy az ablak be nem záródik.

Az alábbi példámban egy függvényt hívunk meg (egy felhasználó által definiált függvényt) ami 10 másodpercenként újratölti az oldalt.

 

A setInterval() használata

 

  1. <script>
  2.  
  3. window.setInterval('refresh()', 10000); // A FÜGGVÉNY HÍVÁSA MINDEN 10000 EZREDMÁSODPERCBEN AZAZ 10 MÁSODPERCBEN.
  4. // AZ OLDAL FRISSÍTÉSE, ÚJRATÖLTÉSE
  5. function refresh() {
  6.    window.location.reload();
  7. }
  8.  
  9. </script>

 

Visszaszámláló készítése az oldal frissítéséhez

 

Készítsünk egy visszaszámlálót a setInterval() metódus használatával, amely mutatja a hátralévő másodperceket az oldal automatikusan újratöltődéséig.

A példa kód minden másodpercben frissíti a <span> elemet amely megjeleníti a hátralevő másodperceket.

A HTML kód 

  • <!DOCTYPE html>
  • <html>
  • <body>
  • <h2>Az oldal újra töltődik <span id="display_counter" style="color:blue;">10</span> másodperc múlva</h2>
  • </body>
  • </html>
  • A Javascript kód

    1. <script>
    2. var counter = 10;// VISSZASZÁMLÁLÓvar count_down = window.setInterval(function () {
    3. counter--;
    4. if (counter >= 0) {
    5. var span;
    6. span = document.getElementById("display_counter");
    7. span.innerHTML = counter;
    8. }
    9. if (counter === 0) {
    10. clearInterval(counter);
    11. }
    12. }, 1000);
    13. var page_refress = window.setInterval('refresh()', 10000);
    14. // AZ OLDAL FRISSÍTÉSE, ÚJRATÖLTÉSE
    15. function refresh() {
    16. window.location.reload();
    17. }
    18. </script>

    A clearInterval() használata

     

    A HTML kód

    Illeszd be a fentebbi HTML-kódba a következő sort a <div> tag alá:

    <button onclick="stopFunction()">Stop timer</button>

    A Javascript kód

    Illeszd be a fentebbi HTML-kódba a következő sort a <script> tagok közé:

    1. function stopFunction() {
    2. console.log("button pressed");
    3. clearInterval(count_down);
    4. clearInterval(page_refress);
    5. }

     

     Végezetül

     

    A JavaScript setInterval() különböző célokra használható. Fentebb csak két egyszerű példát mutattam be arra vonatkozóan, hogyan lehet automatikusan és többször végrehajtani.

    Ne feledd, a setInterval() mindaddig futni fog amíg meg nem hívod a clearInterval() függvényt!

    És itt a teljes forrás kód …

    1. <!DOCTYPE html>
    2. <html>
    3. <body>
    4. <h2>Az oldal újra töltődik <span id="display_counter" style="color:blue;">10</span> másodperc
    5. múlva</h2>
    6. <button onclick="stopFunction()">Stop timer</button>
    7.  
    8. <script>
    9. var counter = 10;
    10. // VISSZASZÁMLÁLÓ
    11. var count_down = window.setInterval(function () {
    12. counter--;
    13. if (counter >= 0) {
    14. var span;
    15. span = document.getElementById("display_counter");
    16. span.innerHTML = counter;
    17. }
    18. if (counter === 0) {
    19. clearInterval(counter);
    20. }
    21. }, 1000);
    22. var page_refress = window.setInterval('refresh()', 10000);
    23. // AZ OLDAL FRISSÍTÉSE, ÚJRATÖLTÉSE
    24. function refresh() {
    25. window.location.reload()
    26. ;}
    27. function stopFunction() {
    28. clearInterval(count_down);
    29. clearInterval(page_refress);
    30. }
    31. </script>
    32. </body>
    33. </html>

    Happy coding!

    A bejegyzés trackback címe:

    https://kod-akademia.blog.hu/api/trackback/id/tr8413428019

    Kommentek:

    A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

    Nincsenek hozzászólások.
    süti beállítások módosítása