Daniel: Counter

Hallo,

ich möchte einen 2 Minuten timer... habe es auch schon selbst versucht... hier mal mein code ;)

[CODE]
<script language="JavaScript" type="text/javascript">
<!--
 var sekunden = 1;
 var minuten = 45;
 function startClock() {
  sekunden = sekunden - 1;

if (sekunden == -1) {
   document.clock.minuten.value = document.clock.minuten.value - 1;
   sekunden = 59;
   document.clock.sekunden.value = sekunden;
   timerID = setTimeout("startClock()", 1000);
  }
  else {
   document.clock.sekunden.value = sekunden;
   timerID = setTimeout("startClock()", 1000);
  }

if(document.clock.minuten.value == 0) {
   if(document.clock.sekunden.value == 0) {
    alert("ENDE");
   }
  }
 }
//-->
</script>
<body onload="startClock()">
<form method="POST" name="clock">
<input type="text" name="minuten" size="20" value="2"><input type="text" name="sekunden" size="20" value="00">
</form>
[/CODE]

bis jetzt hab ich zwei probleme...

1. Problem
die sekunden 0-9 sollen auch 2-stellig (also 01, 02, 03...) ausgegeben werden...

2. Problem
Wenn die Meldung "ENDE" erschienen ist soll das script aufhören zu zählen... bin für hilfe sehr dankbar :)

  1. um aufzuhören zu zählen einfach den timer anhalten.

    clearTimeout(timerID);

    http://selfhtml.teamone.de/javascript/objekte/window.htm#clear_timeout

    1. gut das funktioniert schonmal... um das problem mit der führenden null zu beheben hab ich schon

      if(sekunden.length == 1) {... probiert..

      nur leider hat sekunden.length dann keinen wert

    1. Problem
      die sekunden 0-9 sollen auch 2-stellig (also 01, 02, 03...) ausgegeben werden...

    function zweistellig(wert) {
      /* das ist die einfache Version, die nichts prüft... */
      if (wert < 10) {
         wert="0"+wert;
      }
    return wert; }

    und:
    document.clock.sekunden.value = zweistellig(sekunden);

    dann aber auch:

    document.clock.minuten.value = (document.clock.minuten.value * 1.0) - 1;
    Weil: document.clock.minuten.value ist ein string....

    1. Problem

    Hat mein Vorredner gelöst.