カウントダウン JavaScript
ソースです。(通常は、functionはHEAD部に記述します)
<form name="form1"> H-IIA 7号機 打上まであと<br> <input name="myText" type="text" size="25" style="text-align:right;" readonly> </input> </form> <form name="form2"> 卒業論文提出まであと<br> <input name="myText" type="text" size="25" style="text-align:right;" readonly> </input> </form> <script language="JavaScript"> <!-- function myCountDown(cdObj, xDay){ cdX = xDay.getTime()-(new Date()).getTime(); if (cdX < 0) {cdSign = "-"; cdX = -cdX;} else {cdSign = "";} (cdSec = Math.floor(cdX /= 1000) % 60) < 10 && (cdSec = "0"+cdSec); (cdMin = Math.floor(cdX /= 60) % 60) < 10 && (cdMin = "0"+cdMin); (cdHour = Math.floor(cdX /= 60) % 24) < 10 && (cdHour = "0"+cdHour); cdDay = Math.floor(cdX / 24); cdObj.value = cdSign+cdDay+"日"+cdHour+"時間"+cdMin+"分"+cdSec+"秒"; } setInterval( "myCountDown(document.form1.myText, new Date(2005,2-1,26,18,25,0));"+ "myCountDown(document.form2.myText, new Date(2005,2-1,23,17,0,0));",1000); //--> </script> |
複数イベントの同時カウントダウンにも対応するよう、関数を作ってみました。演算子を凝った使い方しているので、読みにくいかも。関数を呼び出すときは、setInterval(" ")の中に複数のスケジュールを並べて記述します。例としてH-IIAロケットの打上と、学生の論文の提出日にしてみました。
それぞれの期日をDateオブジェクトで渡します。月だけは-1するのを忘れないように。
表示する場所もオブジェクトで渡しているので、テキストフィールドに限らずボタン等にも表示できます。
現在、研究室の学生共用パソコンで、これを記述したHTMLファイルをローカルに保存し、アクティブデスクトップ項目として表示させています。
参考「とほほのWWW入門」
-----
修正2/14
期日経過後のマイナス表示にバグがあったので、修正しました。
-----
修正7/1
設定時刻を、当初予定の17:09から、実際に打ち上げた18:25に変更しました。
今もマイナス表示で、打ち上げからの経過時間を刻み続けています。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- 四則演算で10を作る(2016.07.20)
- ResearchGate(2015.12.30)
- PowerPoint操作のTIPS (PowerPoint 2013に改訂)(2014.05.22)
- プログラミン×宇宙兄弟 コンテスト(2013.10.23)
- Facebook(2011.10.05)
コメント