• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Fehler im Beispiel? Mehrere Timer Parallel

Lucky66

New member
Hey Leute,

ich bin noch recht neu im Bereich javascript , aber versuche gerade mehrere Timer parallel laufen zu lassen.

Orientiert habe ich mich an dem Beispiel: Komfortable Timer-Funktion

Das der Code:
Code:
function leadingzero (number) {
    return (number < 10) ? '0' + number : number;
}
function countdown (seconds, target) {
  var element = document.getElementById(target);

  var calculateAndShow = function () {
    if (seconds >= 0) {
      var h = Math.floor(seconds / 3600);
      var m = Math.floor((seconds % 3600) / 60);
      var s = seconds % 60;
      element.innerHTML=
        leadingzero(h) + ':' +
        leadingzero(m) + ':' +
        leadingzero(s);
      seconds--;
    } else {
      return false;
    }
  };

  var completed = function () {
    element.innerHTML = "<strong>Liftoff!<\/strong>";
  };

  calculateAndShow.Timer(1000, Infinity, completed);
}
window.onload = function () {
  new countdown(10, 'counter1');
  new countdown(5, 'counter2');
};

und das der Link zu dem aufgehürten Beispiel: Countdown-Beispiel


Das Problem ist aber das die Funktion calculateAndShow.Timer leider nicht aufgerufen wird, habe das wie folgt getestet:

Code:
test.php
<p id="counter1">test</p>
<p id="counter2">bla</p>
<script>
function countdown (seconds, target) {
  var element = document.getElementById(target);
		
		 var calculateAndShow = function () {
			 element.innerHTML='blabla';
		};
      
      calculateAndShow.Timer(1000, Infinity, completed);
}
window.onload = function () {
  new countdown(10, 'counter1');
  new countdown(5, 'counter2');
};
</script>

Weder der Text vom ersten noch der vom zweiten Counter ändert sich auf "blabla" :/ Sprich die Funktion wird garnicht erst aufgerufen. Auch wenn ich das komplette Script zum test copy und paste , wird die Funktion bei mir nicht ausgeführt.... Sicherlich ist irgendwo nur ein kleiner Fehler den ich übersehe...

Sieht ihn einer von euch?


Vielen Dank schon mal,

mfg Lucky66
 
Zuletzt bearbeitet von einem Moderator:
Wirf mal einen Blick in die Fehlerkonsole. Bei dem zweiten Testscript ist das Problem, dass beim Aufruf von calculateAndShow.timer() die Funktion completed nicht definiert ist.
Außerdem musst du natürlich die Timer-Funktion selber auch definieren, was in den beiden Skripts nicht sichtbar ist.
 
Zuletzt bearbeitet:
Timer-Funktion nachgerüstet und die Funktion completed definiert. Funktioniert wunderbar.

Vielen vielen Dank für eure Hilfe/Hinweise.

Thread kann geclosed werden.

mfg Lucky66
 
Zurück
Oben