Event überprüfen

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Sempervivum

Erfahrenes Mitglied
Es müsste irgendwas im eventListener eingebaut werden, dass nach jedem Klick eine laufende Zeitabfrage startet und dann nach 5 Sekunden eine Meldung generiert.

Wie man das macht, dass kenn ich nicht
Das kannst Du doch genau so mit setTimeout machen?
 

Jofre

Erfahrenes Mitglied
ich habe hier ein kleines Beispiel :
Code:
<!DOCTYPE html>
<html>
<body>

<button id="myBtn">Try it</button>

<script>
  var zaehler=0;
  document.getElementById("myBtn").addEventListener("click", function(){
  zaehler++;
  console.log(" Zähler " + zaehler);
  if (zaehler==4){console.log( "Ende erreicht")};
});
</script>

</body>
</html>

Wie kann man hier mit setTimeout erreichen, dass , wenn zaehler ==3 getippt wurde und der 4. click ansteht aber nicht erfolgt, nach 5 Sekunden eine Meldung kommt, dass der 4. Click noch nicht erfolgt ist.
 

Sempervivum

Erfahrenes Mitglied
In etwa so sollte es funktionieren:
Code:
    <button id="myBtn">Try it</button>

    <script>
        var zaehler = 0, timer;
        timer = setTimeout(function () {
            console.log("Zeitablauf für Klick " + (zaehler + 1));
        }, 5000);
        document.getElementById("myBtn").addEventListener("click", function () {
            zaehler++;
            console.log(" Zähler " + zaehler);
            clearTimeout(timer);
            if (zaehler < 4) {
                timer = setTimeout(function () {
                    console.log("Zeitablauf für Klick " + (zaehler + 1));
                }, 5000);
            }
            if (zaehler == 4) { console.log("Ende erreicht") };
        });
    </script>
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…