WindowOrWorkerGlobalScope.clearTimeout()

clearTimeout()WindowOrWorkerGlobalScope ミックスインのメソッドで、以前の setTimeout() の呼び出しによって以前に確立されたタイムアウトを解除します。

構文

scope.clearTimeout(timeoutID)

引数

timeoutID
解除したいタイマの ID です。 ID は setTimeout() の返値によって取得できます。

注目すべきは、 setTimeout() および setInterval() で使用される ID のプールは共有されますので、技術的には clearTimeout() および clearInterval() は互いに交換できます。しかし、明確化のため、そのようなことは避けてください。

ウェブページのコンテキストで以下のスクリプトを実行し、ページを一度クリックしてください。1秒後にメッセージがポップアップします。1秒間に複数回ページをクリックしても、アラートは一度しか表示されません。

var alarm = {
  remind: function(aMessage) {
    alert(aMessage);
    this.timeoutID = undefined;
  },

  setup: function() {
    if (typeof this.timeoutID === 'number') {
      this.cancel();
    }

    this.timeoutID = window.setTimeout(function(msg) {
      this.remind(msg);
    }.bind(this), 1000, 'Wake up!');
  },

  cancel: function() {
    window.clearTimeout(this.timeoutID);
  }
};
window.onclick = function() { alarm.setup(); };

メモ

clearTimeout() へ妥当ではない ID を渡しても、何の効果もありません。例外は発生しません。

仕様書

仕様書 状態 備考
HTML Living Standard
WindowOrWorkerGlobalScope.clearTimeout() の定義
現行の標準 最新の仕様で、メソッドを WindowOrWorkerGlobalScope ミックスインに移動。
HTML Living Standard
clearTimeout() の定義
現行の標準

ブラウザーの互換性

BCD tables only load in the browser

関連情報