このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Window: clearTimeout() メソッド

Baseline
広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

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 を渡しても、何の効果もありません。例外は発生しません。

仕様書

仕様書
HTML
# dom-cleartimeout-dev

ブラウザーの互換性

関連情報