試験の時間をを画面に表示したい。
http://park6.wakwak.com/~wmasa/soft/wbt/timer/
からとってきたソース。
キャッシュにあったJSファイルより、JAVAスクリプトを持ってくる。
とりあえず簡単なタイマはできるみたいです。
みんな、ちゃんと勉強して、ソースの一行一行の意味を理解しておいてください。
var stopwatchStartTime;//varで変数を定義
var stopwatchState = 0;
var stopwatchTotal = 0;
var stopwatchTimerID = 0;
function setStopWatchText()//functionと頭についているので関数。
{
if(stopwatchState == 1){
var time = getStopWatchTime();//下の方で定義している関数。
var t = String(parseInt(time /
10));//timeという変数をparseIntは文字列を整数に変換します。それをさらにString()で文字列にしている?
while(t.length < 3){//3は三ケタのこと
t = '0' + t;//1秒になるまでに桁数を合わせるための処理。最初の1秒の一瞬しかやらない。
}
while(t.length < 10){
t = ' ' + t;//桁合わせ
}
t = t.substr(0,t.length-2) + ',' +
t.substr(t.length-2,2);//小数点を付けるための処理。最初最高10ケタある最後の2ケタの前までを切り抜き、「+ ','
+」で小数点をつけて最後の2ケタを切り取ってつける。substrは文字列を切り抜く関数(メソッド?)
document.stopwatch_form.stopwatch_text.value =
t;//documentとはhtmlのドキュメント全体を意味する。javascript独特の考え方。「document.stopwatch_form.stopwatch_text.value」はdocumentの中の、stopwatch_formという場所のさらにstopwatch_textという場所の値
if(document.stopwatch_form.stopwatch_limit_check.checked &&
parseInt(document.stopwatch_form.stopwatch_limit_text.value)){
if(time > document.stopwatch_form.stopwatch_limit_text.value * 1000){
document.stopwatch_form.stopwatch_limit_check.checked = false;
window.focus();
alert(document.stopwatch_form.stopwatch_limit_text.value + '秒経過しました')
}
}「//document.stopwatch_form.stopwatch_limit_check.checked」はチェックボックスにチェックが入っていて、
}//かつ、parseInt(document.stopwatch_form.stopwatch_limit_text.value)はテキスト値に数字以外のものが入っていないかチェックする
}
function getStopWatchTime()//このメソッドでは、現在の時間からストップウォッチを開始した時間を引いている
{
var temp = new Date();
return (temp - stopwatchStartTime) + stopwatchTotal;
}
function stopwatch_click(id)
{
if(id == 0){
switch(stopwatchState){
case 0: //停止中
document.stopwatch_form.stopwatch_button.value = '停止';
stopwatchState = 1;
stopwatchStartTime = new Date();
stopwatchTimerID = setInterval("setStopWatchText()",10);
break;
case 1: //動作中
if(stopwatchTimerID){
clearInterval(stopwatchTimerID);
}
document.stopwatch_form.stopwatch_button.value = '再開';
stopwatchState = 0;
stopwatchTotal = getStopWatchTime();
break;
}
}else if(id == 1){
stopwatchStartTime = new Date();
if(stopwatchState == 0){
document.stopwatch_form.stopwatch_button.value = '開始';
}
document.stopwatch_form.stopwatch_text.value = ' 0.00';
stopwatchTotal = 0;
}
}