指定時間経過後に処理を実行

指定時間経過後に処理を実行させたい場合は、setTimeout関数を使用します。
setTimeoutの処理を停止(中断)する場合は、clearInterval関数を使用します。
setTimeoutは1回のみ実行されます。

なお、再帰的にsetTimeoutを使用している場合、指定している関数の処理が完了するまでタイマーは開始されません。

構文

一定間隔での処理

var id = setTimeout(callback, milliseconds);

処理の停止(中断)

clearTimeout(id);

setTimeoutl関数

引数名 説明
第一引数
必須
callback function 第二引数で指定した秒数に達した時に処理する関数
第二引数
必須
milliseconds number 処理間隔(ミリ秒)

clearTimeout関数

引数名 説明
第一引数
必須
id number 停止(中断)するsetTimeout関数の処理ID(戻り値)

戻り値

setTimeout関数は、処理IDを返します。

第二引数の指定時間(現在の時刻 + 第二引数の秒数)でキューに入れ、指定時間到達後に第一引数で指定した関数を実行します。
到達後、指定関数の処理に関係なく(clearTimeoutでリセットされることを除く)、即時に第二引数の指定時間でキューに入れるといった感じで更新と処理が繰り返されます。
実行中のキューや待機中のキューが存在する場合は、指定した時間に到達しても他のキューが終了するまでは処理されず待機のキューとして追加され、順番待ちの状態となります。

デモ

サンプルでは、5秒後にテキストを表示しています。

サンプルコード

JavaScript

setTimeout(function() {
	document.getElementById('text').value = '5秒経過しました。';
}, 5000);

JavaScript逆引きリファレンス一覧へ戻る