Counter
Daniel
- javascript
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 :)
um aufzuhören zu zählen einfach den timer anhalten.
clearTimeout(timerID);
http://selfhtml.teamone.de/javascript/objekte/window.htm#clear_timeout
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
- 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....
- Problem
Hat mein Vorredner gelöst.