Nik231: Frequenztimer

Hallo,
ich versuche gerade eine Frequenzuhr fürs Schwimmen zu programmieren. Dabei wird vor und nach 3 Zügen gedrückt und damit die Züge pro Minute berechnet.
Also vereinfacht 180 / t [der 3 Züge].
Z.B wäre das nach bei t=1 sec 180, nach t=2 sec 90 und nach t=3 sec 60.
Leider bin ich eine Niete in Javascript und bitte deshalb um eure Hilfe.
Bis jetzt hab ich folgenden Code:

  
  
 var show;  
  
  
    function countstop(){  
         show="false";  
    }  
  
   function countstart(countzahl){  
         show="true";  
         count(countzahl);  
   }  
  
  
    function count(countzahl){  
      if (show) {  
      countzahl= countzahl -0.5;  
          setTimeout("countdown("+countzahl+");",500);  
      }  
    }  
  
  
  
    function countdown(zahl){  
  
  
          if(zahl>1){  
          // über 1 Sekunde hinaus -> x Sekunden  
          document.getElementById('downloading').innerHTML=zahl;  
          count(zahl);  
          }  
          else if(zahl==1){  
          // 1 Sekunde  
          document.getElementById('downloading').innerHTML=zahl;  
          count(zahl);  
          }  
  
  
    }  
  
  

  
  
<form>  
<input type="button" name="button" value="Start" onclick="countstart(180)" />  
<input type="button" name="button" value="Stop" onclick="countstop()" />  
<br>  
<textarea id="downloading">180</textarea>  
</form>  
  

Jetzt hab ich 2 Fragen:

  1. Wie bekomm ich obrige Formel in count()?
  2. Wieso funktioniert countstop() nicht. Eigentlich hab ich versucht, es genauso zu machen, wie auf http://forum.de.selfhtml.org/archiv/2002/7/t16650/ beschrieben.

Hier hab ichs mal hochgeladen:
http://swim2.bplaced.net/frequenzuhr.html

Danke schon im Vorraus,
Nik

  1. wieso nicht
    Anfangszeit merken (per Date-Objekt)
    Beim aufruf von countstop Endzeit (per Date-Objekt) holen
    Differenz bilden, ggf. in Sekunden umrechnen (Date-Objekt bevorzugt Millisekunden)
    180 dadurch teilen
    ausgeben

    1. wieso nicht

      ...

      ungefähr so

        
        
       var zeit=0;  
       function countstop(){  
        zeit=(new Date).getTime()-zeit;  
        document.getElementById("downloading").innerHTML=(180000/zeit)+" pro Minute";  
       }  
       function countstart(){  
        zeit=(new Date).getTime();  
       }  
      
      
        
        
      <input type="button" name="button" value="Start" onclick="countstart()" />  
      <input type="button" name="button" value="Stop" onclick="countstop()" />  
      <br>  
      <span id="downloading">nix</span>  
        
      
      
      1. Danke - funktioniert perfekt!
        Gruß,
        Nik