- ベストアンサー
JavaScript で指定の残り時間がきたら、時間が来たことを知らせてくれる方法
ワープロ検定などで、10分・15分・20分等のタイム測定をしなければなりません。上記時間を設定し、時間がきたら、画面上で知らせてくれる方法は、ないでしょうか。(ワード入力中、画面切り替えなしで時間がきたら分かるようにしてほしい)
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
JavaScriptでということであれば、setInterval等のタイマ関数を使い、タイマー音となるファイルEMBEDタグに設定し、呼び出せばできると思いますが・・・。 --HTML-- <EMBED SRC="" NAME="emb1" AUTOSTART=FALSE MASTERSOUND HIDDEN=true> <input type="text" name="txt2" style="ime-mode:inactive;text-align:right;width:30;" maxlength=2 value=00>分 <input type="button" name="btn1" value="Start" onclick="SetTime();"> --JavaScript-- var strTime=0,IV,TO; function SetTime() { strTime = parseInt((frm1.txt2.value!="") ? frm1.txt2.value * 60 : 0) if(strTime>0) TimeCount(); } function TimeCount() { IV=setTimeout('TimeCount();',strTime); if(strTime <= 0) Notice(); } function Notice() { clearTimeout(IV); TO=setTimeout("Notice()",100); document.emb1.src=呼び出すタイマー音ファイル; document.emb1.play(); } みたいな感じで。 まぁフリーソフトが妥当でしょうが・・・
その他の回答 (5)
- urusyun
- ベストアンサー率52% (10/19)
書き込みおよび返答がないようですが、解決されたのでしょうか? 「ワード」とかかれているのが Microsoft Word であるのならば、いっそのことマクロを使用されたらいかがでしょうか? 現在、手持ちにWord2000しか確認できないのですが、OnTimeメソッドなど、使えそうなメソッドが存在しており、その時間になれば「時間です!!」みたいなメッセージボックスを立ち上げることは簡単にできるかと思います。 マクロの作成・編集の仕方は、 「ツール」→「マクロ」→「Visual Basic Editor」 からエディタを起動できます(エディタは、標準でWordに装備されています) そこで、起動時にタイマーをセットするコードを、OnTime時にメッセージを表示し、(例えば)終了処理/書込み禁止にするということを行えば実現できると思います。 細かい点については、「教えてgoo」にもVisual Basicのスレッドがありますので、そちらで質問してみてください。 http://oshiete1.goo.ne.jp/oshiete.php3?c=257
お礼
こんな方法もあるんですね。 ありがとうございました。
- you111111
- ベストアンサー率45% (20/44)
#4です。 タイマーのカウントは1/1000Secなので >strTime = parseInt((frm1.txt2.value!="") ? frm1.txt2.value * 60 : 0) ではなく strTime = parseInt((frm1.txt2.value!="") ? frm1.txt2.value * 60000 : 0) ですね・・・使うかどうかは別にして一応訂正(^^;
お礼
ありがとうござました。
#1です。補足を読みました。 …であるなら尚のこと、専用のソフトの使用を推奨します。JAVAスクリプトについて造詣を深めたい等の目的がないなら、わざわざ出来ないことについて方法をここで探りイチからチャレンジするより手っ取り早いからです。
補足
ありがとうござまいす。 フリーソフトを使用する便利だと知っておりますが、あるコンピュータで、プロテクトをかけてある状態で、追加インストールができない状態にあります。 そのため、ホームページのJavascriptを使用してできないものかと考えております。
- ribisi
- ベストアンサー率28% (247/864)
おそらく、ですが、Javascriptなどのスクリプト言語で、 タイマー的なことを実行させようとすると、 CPUがタイマー処理にかかりっきりになってしまうと 思います。 僕もそれほど詳しくはないですが、 専門用語で言えば、マルチタスク、マルチスレッドの テクニックが必要になるかと思います。 なので、#1の方が仰るように、タイマーソフトを 利用したほうがよいかと思います。 参考URLにフリーソフトがたくさんありますよ。
補足
ありがとうござまいす。 フリーソフトを使用する便利だと知っておりますが、あるコンピュータで、プロテクトをかけてある状態で、追加インストールができない状態にあります。 そのため、ホームページのJavascriptを使用してできないものかと考えております。
Word上でJAVAスクリプトが走るのかどうかは知りませんが、だったら専用の「リマインダソフト」を使う方が簡単です。つまりマシン上で動作するキッチンタイマーみたいなもんです。ネット上で探せばフリーでゴロゴロあります。具体的に知りたければOSを明記してください。
補足
解答、ありがとうございます。OSは、Windows XPです。「Word上でJAVAスクリプトが走るのかどうかは知りません」に関してですが、 ホームページとワードを平行して立ち上げ、ホームページ上のキッチンタイマーみたいなものが、動き、その後、ワードで入力します。ワードで入力していると時間がいつ終了するか、分かりませんので、時間がきたら、音か、画像で分かるようにする方法です。 いかがでしょうか。
お礼
本当にありがとうございました。