Új hozzászólás Aktív témák

  • Taci

    addikt

    Sziasztok!

    Szeretném elérni, hogy a (példa kedvéért a) pontos időt legyen kiírva több elemnél is, és ezek frissüljenek is másodpercenként.

    Csak hogy példákkal is szemléltetni tudjam, ezt a 2 kódot próbálom (eddig sikertelenül) egybe rakni:

    1)
    https://www.w3schools.com/js/tryit.asp?filename=tryjs_setinterval2
    Ez setInterval-lal beállít getElementById-val egy bizonyos ID-jű HTML rész folyamatos átírását az aktuális idővel, másodpercenként frissítve.
    Viszont mivel HTML-ben az ID-nak egyedinek kell lennie, ezért ha megduplázom a kódrészletet, hogy két helyre is kiírja az időt frissítve,
    <p id="demo"></p>
    helyett
    <p id="demo"></p>
    <p id="demo"></p>,
    akkor csak az elsőt írja át és frissíti.

    2)
    Erre gondoltam megoldásnak a querySelectorAll-t:
    https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_document_queryselectorall_class

    Viszont ha a két kódot összeboronálom, csak egyszer (gombnyomáskor) kiírja a generáláskor pontos időt a 2 helyre, de frissíteni már nem frissíti:
    <!DOCTYPE html>
    <html>
    <body>
    <h2 class="example">A heading with class="example"</h2>
    <p class="example">A paragraph with class="example".</p> 
    <button onclick="myFunction()">Try it</button>
    <script>
    function myFunction() {
      var x, i;
      x = document.querySelectorAll(".example");
      for (i = 0; i < x.length; i++) {
      var myVar = setInterval(myTimer(x[i]), 1000);
        function myTimer(element) {
          var d = new Date();
          element.innerHTML = d.toLocaleTimeString();
        }
      }
    }
    </script>
    </body>
    </html>

    Én rontom el valahol? Ha igen, hol? Segítenétek, kérlek?
    Vagy ennek más, egyszerűbb, jobb módja van?

    Hogyan lehet megoldani, hogy több ugyanabból a kódból generált több elemnél is futtatni tudjam ugyanazt a szkriptet?
    Konkrétan úgy képzeljétek el, mint a Facebook feed-et: minden elem (a kártyák) egy kaptafára épülnek, egy kódból generálva, mindegyiknek a bal teteje körül ott van az idő, és az mind frissül külön-külön. Valami ilyesmit szeretnék elérni én is. És ahhoz ez lenne az első lépés. Azt hiszem.

    De ha ennek tudtok egy jobb, egyszerűbb, hatékonyabb módját, kérlek, osszátok meg velem.

    Köszi!

Új hozzászólás Aktív témák