Event überprüfen

Jofre

Erfahrenes Mitglied
Einen schönen Tag wünsche ich,

ich zeige eine Matrix an und warte dann auf eine Aktion des Anwenders. Der Anwender soll 4 ausgewählte Felder antippen.
Wenn er alle antippt, kann ich das ja im Rahmen des eventListeners überprüfen

Was mach ich aber wenn er nur 3 antipt weil er z. b. vergessen hat , dass er 4 antippen soll. Wie erfahre ich das überhaupt?.

GzG

Joachim
 
Lösung
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>
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?
 
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.
 
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>
 
Lösung
Zurück