QA@IT

時報を設定したい

4954 PV

下記のコードは、特定の時間が来たら時報が鳴る,ように設定したつもりですが、
設定時間が来ても更新ボタンを押さないと鳴りません。
どのように書き換えれば、更新ボタンを押さなくても設定時間が来たら時報が鳴るように
なるでしょうか。ご教示ください。

<head>

<bgsound id="bgm" src="" loop="0">

<script type="text/javascript">
<!--
function Time(){
 var myTime = new Date;
     var Hour = myTime.getHours();
     var Min = myTime.getMinutes();
  if((Hour==〇〇)&&(Min==〇〇)){bgm.src="〇〇.wav";
  }
  else{bgm.src="";
  }
}
</script>
</head>

<body bgcolor="black"onload="Time()">

回答

更新ボタンを押さないと鳴りません。

それは更新ボタンで画面が再描画される際、body.onload というイベントが一回だけ発生しますが、その時 onload="Time()" と設定した Time() メソッドが一回だけ実行されるからです。

setInterval メソッドで定期的に Time() メソッドを実行するようにしてはいかがですか?

window.setInterval
https://developer.mozilla.org/ja/docs/Web/API/Window/setInterval

編集 履歴 (0)
  • 回答ありがとうございました。setIntervalメソッドは試したのですが、書き方が間違っていたようです。参考サイトの書き方に直したところ、うまく行きました。 -
  • 鳴ったり鳴らなかったりするのですが、何が原因か分かりますか。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。