clearTimeout()

グローバルの clearTimeout() メソッドは、 setTimeout() の呼び出しによって以前に確立されたタイムアウトを解除します。

構文

clearTimeout(timeoutID)

引数

timeoutID

解除したいタイムアウトの識別子です。この ID は対応する setTimeout() から返されたものです。

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

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

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

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

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

  cancel: function() {
    clearTimeout(this.timeoutID);
  }
};
window.addEventListener('click', () => alarm.setup() );

メモ

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

仕様書

Specification
HTML Standard
# dom-cleartimeout-dev

ブラウザーの互換性

BCD tables only load in the browser

関連情報