Countdown Timer bei Click zurücksetzen


tfact129

Grünschnabel
Hallo,
ich würde gerne den folgenden Countdown auf einer Seite integrieren, so dass er sich immer bei einem Click des Users auf der Seite auf seinen Ursprungswert zurückstellt und von neuem beginnt. Click soll heißen, nicht nur auf einen Link, sondern generell auf die Seite. Lässt sich das machen?
Javascript:
<div class="countdown">1000</div>

<script>
$(document).ready(function() {

  // Function to update counters on all elements with class counter
  var doUpdate = function() {
    $('.countdown').each(function() {
      var count = parseInt($(this).html());
      if (count !== 0) {
        $(this).html(count - 1);
      }
    });
  };

  // Schedule the update to happen once every second
  setInterval(doUpdate, 1000);
});
</script>
 

basti1012

Erfahrenes Mitglied
Der Counter soll starten wenn man die Seite betretten tut , und beim irgendein Click auf der Seite soll der Counter wieder vom 0 Anfangen ?
Dann versuche es doch mal so
Javascript:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<div class="countdown">0</div>
<script>
$(document).ready(function() {
    var timer;
    var count=0;
    $('*').click(function(){
          clearTimeout(timer);
          go(count)
    });
    function go(count){
         timer=setTimeout(function() {
             $('.countdown').html(count);
             count++;
             go(count);
         }, 1000);
    }
    go(0);// den löschen wenn er beim betretten der Seite nicht Starten soll , sondern erst beim clicken
});
</script>
Hier Live Demo
Live Demo vom Code
 

tfact129

Grünschnabel
Hallo,
das hat mir schon mal sehr weitergeholfen. Ich hab das noch so angepasst, dass es rückwärts zählt. Nun sollte der Zähler bei 0 stehenbleiben und eine Funtion aufgerufen werden. Bei mir läuft jedoch der Countdown ins Minus.