JS - Countdown - Autorefresh?

Bribea

Mitglied
Hallo Community,

Ich möchte ein Countdown auf einer Seite einbauen, der sich nach Ablauf automatisch wieder von vorne anfängt.
Was sollte ich in diesem Code dafür ändern?

Code:
<script type="text/javascript">function countdown(time,id){
 
  //time brauchen wir später noch
  t = time;
 
  //Tage berechnen
  d = Math.floor(t/(60*60*24)) % 24; 
 
  // Stunden berechnen
  h = Math.floor(t/(60*60)) % 24;
 
 
  // Minuten berechnen
  // Sekunden durch 60 ergibt Minuten
  // Minuten gehen von 0-59
  //also Modulo 60 rechnen
  m = Math.floor(t/60) %60;
 
  // Sekunden berechnen
  s = t %60;
 
  //Zeiten formatieren
  d = (d >  0) ? d+"d ":"";
  h = (h < 10) ? "0"+h : h;
  m = (m < 10) ? "0"+m : m;
  s = (s < 10) ? "0"+s : s;
 
  // Ausgabestring generieren
  strZeit =d + h + ":" + m + ":" + s;
 
  // Falls der Countdown noch nicht zurückgezählt ist
  if(time > 0)
  {
    //Countdown-Funktion erneut aufrufen
    //diesmal mit einer Sekunde weniger
    window.setTimeout('countdown('+ --time+',\''+id+'\')',1000);
  }
  else
  {
    //führe eine funktion aus oder refresh die seite
    //dieser Teil hier wird genau einmal ausgeführt und zwar 
    //wenn die Zeit um ist.
    strZeit = "Fertig";
  }
  // Ausgabestring in Tag mit id="id" schreiben
  document.getElementById(id).innerHTML = strZeit;
}
//Helfer Funktion erlaubt Counter auch ohne Timestamp
//countdown2(Tage,Stunden,Minuten,Sekunden,ID)
function countdown2(d,h,m,s,id)
{
  countdown(d*60*60*24+h*60*60+m*60+s,id);
}</script>

Bitte um Rat

Mfg
 
Ich würde JQUERY mit der Countdown-Erweiterung verwenden
http://keith-wood.name/countdownRef.html

Gem. Doku gibts da auch ein onExpiry-Event.

Und was meinst du mit automatisch wieder von vorne beginnen? Wenn die Zeit erreicht ist, soll dann eine neue End-.Zeit erstellt werden?

Wenn der Countdown Null erreicht hat, soll er wieder von vorne beginnen also eine Art Schleife
Das mit dem jQuery hab ich mir angeschaut, jedoch denke ich das es einfach wäre die jetzige Funktion so umzubauen, das sie nach Ablauf wieder von vorne beginnt
 
Und wo ist das Problem? Mit ein wneig überlegen sollte doch klar sein, wass du an deinem Code anpassen musst.

Im else-Teil der neue Zeitpunkt berechnen und den Timer setzen.
 

Neue Beiträge

Zurück