ヒアリングドッグトレーニングツール– setTimeout()
前回の記事で、私は小さなJavaScriptプログラムの反復的な開発を開始し、犬が健全な警告を発するよう訓練するのを支援しました。これまでのところ、ここで表示できるプログラムにはアラーム設定ボタンが含まれており、このボタンを押すと、アラームが消えたことを示すアラートがポップアップします(ただし、可聴アラームはまだ構成されていません)。次のステップとして、 「アラームの設定」ボタンを押してからアラームが鳴るまでの待機時間を実際に設定します。

JavaScriptとDocument Object Model(DOM)には、何かが起こるのを待つイベントハンドラーがたくさんあります(つまり、 onClick, onMouseOver、...);ただし、この場合、一定の時間が経過するのを待ちたいので、DOMはこれを行うメソッドも提供します setTimeout(). setTimeout() 2つの引数、実行するコードまたは関数、および実行前にミリ秒単位で待機する時間を必要とします。 set_timeout() また、使用するスクリプト言語を指定するオプションの3番目のオプション(JavaScript、JScript、またはVBScript)を使用することもできます(これはJavaScriptではなくDOMの一部です。覚えておいてください)。

新しいコードは次のようになります。


関数do_alarm(){
//待機時間を秒単位で決定します
wait_secs = 52; //今のところ、定義するだけ
//起動するまで待ってアラームを鳴らします
setTimeout(sound_alarm()、(wait_secs * 1000))
}


これはうまく機能しますが、ボタンが押されてから時間が経過するまで何も変わらないため、わかりにくいです。ただし、DOMはこれにも役立ちます。次の2行を先頭に追加しました do_alarm() 関数:


//アラームを設定済みとしてマーク
document.getElementById( "alarm_button")。disabled = true
document.getElementById( "alarm_button")。value = "アラームセット"


これにより、押したボタンが変更され、アラームが「Alarm Set」と言うように設定され、無効になります。アラームを再び使用できるようにするには、ボタンを元の状態に戻す必要があります。これをsound_alarm()関数に追加しました。すべてのコードを表示して、ここで実際の例を試すことができます。