Window: clearTimeout() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

指定された引数で前回確立されたアクションを識別できなかった場合、このメソッドは何も行いません。

構文

js
clearTimeout(timeoutID)

引数

timeoutID

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

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

返値

なし (undefined)。

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

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

  setup() {
    if (typeof this.timeoutID === "number") {
      this.cancel();
    }

    this.timeoutID = setTimeout(
      (msg) => {
        this.remind(msg);
      },
      1000,
      "Wake up!",
    );
  },

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

メモ

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

仕様書

Specification
HTML Standard
# dom-cleartimeout-dev

ブラウザーの互換性

BCD tables only load in the browser

関連情報