stoppuhr

Hallo ich möchte gerne das ich eine Zeitstoppung habe sie soll durch ein onklick gestartet werden. Es sollen nur Sekunden sein die bei 0 beginnen und bis 999 zählen nur ich krieg das irgendwie nicht hin, da ich nur setSeconds kenne und der nach 60 Sekunden neu beginnt, bzw. sich die Sekunden von der Sytemuhr hohlt.
kann mir bitte jemand helfen.
 
Hi,

mit der Methode setTimeout lässt sich eine Funktion zeitversetzt aufrufen. Damit sollte das Hochzählen einer Variable bis 999 möglich sein.

Beispiel:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
  <!--
var hTimer = null;

function startTimer(intCount){
  document.getElementById("outID").innerHTML = intCount;

  if(intCount < 999)
    hTimer = window.setTimeout(function(){ startTimer(++intCount);}, 1000);
}
 //-->
</script>
</head>
<body>
<button onclick="startTimer(0);">start</button>
<button onclick="window.clearTimeout(hTimer);">stop</button>
<div id="outID"></div>
</body>
</html>

Ciao
Quaese
 
Wobei hier bei Quaese's Beispiel geringe Fehlmessungen möglich wären, je nach Rechnerauslastung. Mein Vorschlag wäre zu dem Thema:
Code:
<script type='text/javascript'>
var starttime=0;
var timer=NULL;
function startCounter(){
    var dat=new Date();
    starttime=dat.getTime();
    timer = window.setTimeout("updateCounter(2)",100);
}
function stopCounter(){
    window.clearTimeout(timer);
    updateCounter(1);
}
function updateCounter(a)
{
    var dat = new Date();
    now=dat.getTime();
    var dif=now-starttime;
    var difstunden=Math.floor(dif/(1000*60*60));
    dif=dif-(difstunden*(1000*60*60));
    var difminuten=Math.floor(dif/(1000*60));
    dif=dif-(difminuten*(1000*60));
    var difsekunden=Math.floor(dif/(1000));
    dif=dif-(difsekunden*(1000));
    var difmili=Math.floor(dif);
    document.getElementById("ausgabe").innerHTML=difstunden+":"+difminuten+":"+difsekunden+":"+difmili;
    if(a==2)
    {
        timer=window.setTimeout("updateCounter(2)",500);
    }
}
    </script>
<html>
    <body>
    <p id="ausgabe"></p>
    <input type="button" onclick="startCounter()" value="start"></input>
    <input type="button" onclick="stopCounter()" value="stopp"></input>
    </body>
</html>
 

Neue Beiträge

Zurück