時間がきたらアラームを鳴らす


動作ブラウザ 【 IE:4.0  NN:-
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × × × × - × -
Macintosh × - × × × × × - - ×
UNIX - - - - - × × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント sec = (new Date()).getSeconds(); if ((sec < 3) && flag && document.all) { mySND.src = "kin.aif"; flag = false; } if (sec > 3) flag = true;
説  明 アラームを鳴らすにはsetInterval()を使って定期的にアラームを鳴らす指定時刻かどうかを調べます。サンプルでは1分ごとにアラームを鳴らすようにしています。時間になったらbgsoundオブジェクトのsrcプロパティに演奏するサウンドファイル名を指定します。ブラウザの動作状態によっては指定時間を経過してしまう場合がありますので、3秒ほどの誤差範囲であればアラームを鳴らすようにしています。この時、フラグ変数(flag)を用意し、一定時間内に一度アラームを鳴らした場合は、二度とその時間内には鳴らないようにします。
サンプル <html> <head> <title>時間がきたらアラームを鳴らす</title> <script language="JavaScript"><!-- flag = true; function alarm() { sec = (new Date()).getSeconds(); if ((sec < 3) && flag && document.all) { mySND.src = "kin.aif"; flag = false; } if (sec > 3) flag = true; } // --></script> <bgsound src="silent.aif" id="mySND"> </head> <body onLoad="setInterval('alarm()',1000)"> 00秒にアラーム </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA