- ベストアンサー
タイマーについて教えて下さい!!
現在タイマーの使い方が分からず下記の様に 秒数をカウントして行っています。 これを毎日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>
- みんなの回答 (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); に。
その他の回答 (1)
- kake_a
- ベストアンサー率70% (7/10)
まず、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>
お礼
ありがとうございます!!難しいですね…勉強します!!
お礼
ありがとうございます!!なんとか解決に近づきました!!