Tanja: Countdown mit 00:00:00 Anzeige

Ich habe hier ein Countdownscript, was mir Sekunden rückwärts zählt. Im Body Tag habe ich dann ein onClick Verfahren gewählt. Das Script funktioniert, nur möchte ich gerne, daß die runterzählende Zeit (egal wie groß sie ist) in diesem Format runterzählt:  00:00:00 anstatt nur in Sekunden. Alle Versuche meinerseits sind gescheitert. Kann mir jemand helfen, wie ich das Script modifizieren muß, damit es so läuft?

<SCRIPT LANGUAGE="JavaScript">
function startTimer(){
var time= new Date();
hours= time.getHours();
mins= time.getMinutes();
secs= time.getSeconds();
closeTime=hours*3600+mins*60+secs;
closeTime+=5;
Timer();
}

function Timer(){
var time= new Date();
hours= time.getHours();
mins= time.getMinutes();
secs= time.getSeconds();
curTime=hours*3600+mins*60+secs
if(curTime>=closeTime)
document.write("Fertig")
else
timeLeft();
}

function timeLeft(){
count = closeTime-curTime;
document.timer.counter.value = count + " secs."
window.setTimeout("Timer()",1000)
}

</SCRIPT>

  1. Ich habe sowas mal gemacht. Du mußt die Startzeit per zeit1.getTime() in Sekunden umwandeln ebenso die Endzeit.

    Jetzt ziehst Du das eine vom andern ab. Damit hast Du die Sekunden die dazwischen liegen. ( = restzeit)

    Die einzelen Einheiten bekommst Du über:

    stunden = parseInt(restzeit);
    minuten = (restzeit - stunden) * 60;
    sekunden = Math.round((minuten - parseInt(minuten)) * 60);

    Frag mich nicht, warum die Formeln stimmen. Ist schon zulange her das ich mir das mal ausgedacht habe.

    Problem dabei. Er zählt bei den Sekunden nicht 00 - 59 - 58 - ... - 01 - 00 sondern 60 - 59 - 58 - ... - 01 - 60
    aber das ist über Abfragen in Griff bekommen.

    if (sekunden == 60) sekunden = 0;

    1. Hallihallo!
      (Nur eine kleine Ergänzung)

      Problem dabei. Er zählt bei den Sekunden nicht 00 - 59 - 58 - ... - 01 - 00 sondern 60 - 59 - 58 - ... - 01 - 60
      aber das ist über Abfragen in Griff bekommen.

      if (sekunden == 60) sekunden = 0;

      Dann muss man aber auch

      if (sekunden == -1) sekunden = 59;

      dazu packen, sonst zählt er sich in den negativ unendlichen Bereich rein...

      Viele liebe Grüße,
      Der Dicki

      1. Also bei mir hat das ohne if 59 geklappt. Die verbleibenden Sekunden werden ja in jeder Sekunde neue berechnet. Nur wenn es eigentlich noch eine Minute und 0 Sekunden wären, ist es für Javascript noch 0 Minuten und 60 Sekunden (was ja prinzipiell das selbe ist). Nur sieht es so rum halt doof aus.