Frequenztimer
Nik231
- javascript
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:
Hier hab ichs mal hochgeladen:
http://swim2.bplaced.net/frequenzuhr.html
Danke schon im Vorraus,
Nik
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
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>
Danke - funktioniert perfekt!
Gruß,
Nik