• ベストアンサー

タイマーについて教えて下さい!!

現在タイマーの使い方が分からず下記の様に 秒数をカウントして行っています。 これを毎日15時と決まった時間に行うにはどうしたらいいのでしょうか?? JAVA触り初めてまだ一週間足らずなので… <script type="text/javascript"> <!-- var i=600; /*自動更新秒数(常にループする秒数)*/ var j=0;/*ずらし秒数(最初に実行するまでの秒数)*/ var di=i; i=j;/*一番最初の秒数*/ function AutoReLoad(){ if(!i) { parent.frames("kuzusi1").location.href = "2-A.html" parent.frames("kurikku1").location.href = "2-Aクリック.html" i=di; } i--; fun=Math.floor(i/60); byou=i-(fun*60); document.all("countID").innerHTML = "<b>" + fun +" </b>"; document.all("countID2").innerHTML = "<b>" + byou +" </b>"; setTimeout("AutoReLoad()",1000);/*自動更新秒数*/ } //--> </script> </head> <body onload="AutoReLoad()"> <center> <font color="#ffffff">あと</font> <span id="countID"></span> <font color="#ffffff">分</font> <span id="countID2"></span> <font color="#ffffff">秒</font> </center>

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ちょっと、いきなりむずかしいか~。 じぶんでも、ちょっとやばい。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title>じかん</title> <body> <p> <input type="text" name="tm1" size="20">まで、<br>あと <input type="text" name="tm1" size="4">日 <input type="text" name="tm1" size="4">時 <input type="text" name="tm1" size="4">分 <input type="text" name="tm1" size="4">秒 </p> <p> ばぶばぶぅ~の誕生日、 <input type="text" name="tm2" size="25">まで、<br>あと <input type="text" name="tm2" size="4">日 <input type="text" name="tm2" size="4">時 <input type="text" name="tm2" size="4">分 <input type="text" name="tm2" size="4">秒 </p> <script type="text/javascript"> //________________________ var CountDownGenerator = function (y, m, d, hh, mm, ss) {  var t = new Date(y, m-1, d, hh || 0, mm || 0, ss || 0);  var s = y + '年' + m + '月' + d + '日' +   (undefined === hh ? '': hh + '時') +   (undefined === mm ? '': mm + '分') +   (undefined === ss ? '': ss + '秒');  return function () {   var sa = t - (new Date);   sa = sa / 1000 |0;   if (sa<0) return { end: true };   var ss = sa % 60; sa = sa / 60 |0;   var mm = sa % 60; sa = sa / 60 |0;   var hh = sa % 24; sa = sa / 24 |0;   var dd = sa;   return {    day: dd, hours: hh, minutus: mm, seconds:ss, str:s, end:false   };  };   } //________________________ var Viewer = function (c, nm) {    var txt = document.getElementsByName(nm);    return function() {   var time = c();   if (time.end) return   txt[0].value = time.str;   txt[1].value = time.day;   txt[2].value = time.hours;   txt[3].value = time.minutus;   txt[4].value = time.seconds;   setTimeout( arguments.callee, 1000);  }(); }; //________________________ Viewer(CountDownGenerator(2009, 7, 1, 15), 'tm1'); var tanjoubi = CountDownGenerator(2010, 1, 12, 20,23,15); Viewer(tanjoubi, 'tm2'); </script> setTimeout setIntervalで呼び出す関数を文字列で指定するっって・・・ window.setTimeout("fun1()", 1000); は、 setTimeout(fun1, 1000); に。

don191969
質問者

お礼

ありがとうございます!!なんとか解決に近づきました!!

その他の回答 (1)

  • kake_a
  • ベストアンサー率70% (7/10)
回答No.1

まず、javaではなくjavascriptですね。。 javascriptで回答します。 時間を計算ではなく、時間取得してはどうでしょうか。 一応、Dateを使ってやってみたのを貼り付けてみます。 (参考URLを見ていると良いかもしれません。) <head> <script type="text/javascript"> <!-- function fun1(){ d = new Date(); s = d.getHours(); s = s + ":" + d.getMinutes(); s = s + ":" + d.getSeconds(); if (s == f1.t1.value){ alert("時間だ!"); }else{ document.all.d1.innerHTML = s; } window.setTimeout("fun1()", 1000); } --> </script> </head> <body onload="fun1()"> <form name="f1"> セット時刻<input type="text" name="t1"><br> 現在時刻:<span id="d1"></span> </form> </body> </html>

参考URL:
http://www.tohoho-web.com/js/
don191969
質問者

お礼

ありがとうございます!!難しいですね…勉強します!!