ストップウォッチのサンプル
http://www.scollabo.com/banban/java/jvsample_014.html
JavaScript (ヘッダに置く) myButton = 0; function myWatch(flug){ if (myButton==0){ Start=new Date(); myButton = 1; document.myForm.myFormButton.value = "Stop!"; myInterval=setInterval("myWatch(1)",1); } else { if (flug==0){ myButton = 0; document.myForm.myFormButton.value = "Start"; clearInterval( myInterval ); } Stop=new Date(); T = Stop.getTime() - Start.getTime(); H = Math.floor(T/(60*60*1000)); T = T-(H*60*60*1000); M = Math.floor(T/(60*1000)); T = T-(M*60*1000); S = Math.floor(T/1000); Ms = T%1000; document.myForm.myClick.value = H+":"+M+":"+S+":"+Ms; } } HTML <form name="myForm" action="#"> <div> <input type="text" size="20" name="myClick"> <input type="button" value="Start" name="myFormButton" onclick="myWatch(0)"> </div> </form>
setInterval関数を使うと関数の実行タイミングを制御できる。
http://homepage1.nifty.com/kodayan/javasc/timer/timer02.htm
<script language="JavaScript"><!-- var timerID; //タイマー変数 var t = 0; //秒数を格納するグローバル変数 function TimeStart(){ document.forms[0].elements[2].value = t++; //value値にtを代入した後で1増加(後置きインクリメント) } function TimeStop(){ clearInterval(timerID); //setIntervalを停止する t = 0; //グルーバル変数を 0 に初期化 } //--></script> </head> <body> <form> カウントの <input type="button" value="開始" onClick="timerID=setInterval('TimeStart()',1000);">/ <input type="button" value="停止" onClick="TimeStop();"> <p align="center" style="color:navy;font:20 bold"> 現在 <input style="color:red" type="button" value="0">秒経過しました。 </p> </form>