現在プログラムを動作させると分を秒を入力する欄があり入力後スタートを押すとカウントダウンします。
そこにさらに残り時間と日数も表示させたいです。
サンプルプログラムから持ってきたのですが
var min=document.timer.elements[0].value;
var sec=document.timer.elements[1].value;
の[]の数字の理由や
tmWrite(min*60+sec-1);
このプログラムが表している内容が分かりません。
まだまだ不明な点がありますが、とりあえず動かしてから考えたいです。
よろしくお願いします。
HTML
1<script> 2 3var timer1; //タイマーを格納する変数(タイマーID)の宣言 4 5 6//カウントダウン関数を1000ミリ秒毎に呼び出す関数 7function cntStart() 8{ 9 document.timer.elements[2].disabled=true; 10 timer1=setInterval("countDown()",1000); 11} 12 13//タイマー停止関数 14function cntStop() 15{ 16 document.timer.elements[2].disabled=false; 17 clearInterval(timer1); 18} 19 20//カウントダウン関数 21function countDown() 22{ 23 var min=document.timer.elements[0].value; 24 var sec=document.timer.elements[1].value; 25 26 if( (min=="") && (sec=="") ) 27 { 28 alert("時刻を設定してください!"); 29 reSet(); 30 } 31 else 32 { 33 if (min=="") min=0; 34 min=parseInt(min); 35 36 if (sec=="") sec=0; 37 sec=parseInt(sec); 38 39 tmWrite(min*60+sec-1); 40 } 41} 42 43//残り時間を書き出す関数 44function tmWrite(int) 45{ 46 int=parseInt(int); 47 48 if (int<=0) 49 { 50 reSet(); 51 alert("時間です!"); 52 } 53 else 54 { 55 //残り分数はintを60で割って切り捨てる 56 document.timer.elements[0].value=Math.floor(int/60); 57 //残り秒数はintを60で割った余り 58 document.timer.elements[1].value=int % 60; 59 var msg = document.timer.elements[0].value + "分"+ document.timer.elements[1].value + "秒"; // 表示文作成 60 document.getElementById("PassageArea").innerHTML = msg; // 表示更新 61 } 62} 63 64 65//フォームを初期状態に戻す(リセット)関数 66function reSet() 67{ 68 document.timer.elements[0].value="0"; 69 document.timer.elements[1].value="0"; 70 document.timer.elements[2].disabled=false; 71 clearInterval(timer1); 72} 73 74</script> 75 76</head> 77<body> 78 79<form name="timer"> 80<input type="text" value="" > 分 <input type="text" value=""> 秒 81<input type="button" value="スタート" onclick="cntStart()" class="sbt"> 82<input type="button" value="ストップ" onclick="cntStop()" class="sbt" > 83</form> 84 85<h4>あと</h4> 86<h2 id="PassageArea"></h2>