<!DOCTYPE html> <html lang="ja"> <head><title>タイマー</title> <link rel="stylesheet" href="zennhyoji.css"> </head> <body background="jikan.jfif"> <form name="timer"> <input type="text" value="">分 <input type="text" value="">秒<br> <input type="button" value="スタート" onclick="cntStart()"> <input type="button" value="ストップ" onclick="cntStop()"> <input type="button" value="リセット" onclick="reSet()"> </form> <h1>課題研究だよー</h1> <script> var timer1; //タイマーを格納する変数(タイマーID)の宣言 var start_hun; var start_byou; //カウントダウン関数を1000ミリ秒毎に呼び出す関数 function cntStart() { document.timer.elements[2].disabled=true; start_hun = document.timer.elements[0].value; start_byou = document.timer.elements[1].value; timer1=setInterval("countDown()",1000); } //タイマー停止関数 function cntStop() { document.timer.elements[2].disabled=false; clearInterval(timer1); } //カウントダウン関数 function countDown() { var min=document.timer.elements[0].value; var sec=document.timer.elements[1].value; //start_hun = min; //start_byou = sec; if( (min=="") && (sec=="") ) { alert("時刻を設定してください!"); reSet(); } else { if (min=="") min=0; min=parseInt(min); if (sec=="") sec=0; sec=parseInt(sec); tmWrite(min*60+sec-1); } } //残り時間を書き出す関数 function tmWrite(int) { int=parseInt(int); if (int<=0) { reSet(); alert("時間です!"); } else { //残り分数はintを60で割って切り捨てる document.timer.elements[0].value=Math.floor(int/60); //残り秒数はintを60で割った余り document.timer.elements[1].value=int % 60; } } //フォームを初期状態に戻す(リセット)関数 function reSet() { var result = window.confirm('リセットします?'); if( result ) { cntStop(); //document.timer.elements[0].value= parseInt(start_hun); //document.timer.elements[1].value= parseInt(start_byou); document.timer.elements[0].value= start_hun; document.timer.elements[1].value= start_byou; document.timer.elements[2].disabled=false; } else { } } </script> </body> </html>