Window setTimeout() メソッド

定義と使用方法

setTimeout() 数ミリ秒後に関数を呼び出すメソッド。

注釈:1 秒 = 1000 ミリ秒。

ヒント

setTimeout() 一度だけ実行します。

繰り返し実行が必要な場合は、 setInterval()

を使用してください。 clearTimeout() メソッド を使用して関数の起動を阻止します。

タイマーをクリアするには、 setTimeout() 返される ID:

myTimeout = setTimeout(function, milliseconds);

次に、 clearTimeout() メソッド を停止するために:

clearTimeout(myTimeout);

参照:

clearTimeout() メソッド

setInterval() メソッド

clearInterval() メソッド

例 1

5 秒間待つ挨拶:

const myTimeout = setTimeout(myGreeting, 5000);

自分で試してみる

例 2

myGreeting の実行を停止するために clearTimeout(myTimeout) を使用します:

const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
  clearTimeout(myTimeout);
}

自分で試してみる

ページの下部にさらに例が提供されています。

文法

setTimeout(function, milliseconds, param1, param2, ...)

引数

引数 説明
function 必須。実行する関数。
milliseconds

オプション。実行前に待つミリ秒数。

デフォルト値は 0 です。

param1, param2,...

オプション。関数に渡す引数。

IE9 以降のバージョンではサポートされていません。

返り値

タイプ 説明
数字で

タイマーの ID と

この id を clearTimeout(idメソッド タイマーをキャンセルするために一緒に使用します。

ブラウザのサポート

すべてのブラウザがサポートしています setTimeout()

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
サポート サポート サポート サポート サポート サポート

さらに多くの例

例 3

3秒(3000ミリ秒)後に警告ボックスを表示します:

let timeout;
function myFunction() {
  timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
  alert("Hello!");
}

自分で試してみる

例 4

タイムアウトテキストを表示します:

let x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 seconds" }, 2000);
setTimeout(function(){ x.value = "4 seconds" }, 4000);
setTimeout(function(){ x.value = "6 seconds" }, 6000);

自分で試してみる

例 5

新しいウィンドウを開き、3秒(3000ミリ秒)後にウィンドウを閉じます:

const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);

自分で試してみる

例 6

継続的なカウント - しかし、カウントを停止できます:

function startCount()
function stopCount()

自分で試してみる

例 7

計時イベントで作成された時計:

function startTime() {
  const date = new Date();
  document.getElementById("txt").innerHTML = date.toLocaleTimeString();
  setTimeout(function() {startTime()}, 1000);
}

自分で試してみる

例 8

パラメータを関数に渡します(IE9および以前のバージョンでは動作しません):

setTimeout(myFunc, 2000, "param1", "param2");

自分で試してみる

例 9

ただし、匿名関数を使用すると、すべてのブラウザに適用されます:

setTimeout(function() {myFunc("param1", "param2")}, 2000);

自分で試してみる