W3cubDocs

/Web APIs

clearTimeout() global function

The global clearTimeout() method cancels a timeout previously established by calling setTimeout().

If the parameter provided does not identify a previously established action, this method does nothing.

Syntax

clearTimeout(timeoutID)

Parameters

timeoutID

The identifier of the timeout you want to cancel. This ID was returned by the corresponding call to setTimeout().

It's worth noting that the pool of IDs used by setTimeout() and setInterval() are shared, which means you can technically use clearTimeout() and clearInterval() interchangeably. However, for clarity, you should avoid doing so.

Return value

None (undefined).

Examples

Run the script below in the context of a web page and click on the page once. You'll see a message popping up in a second. If you click the page multiple times in one second, the alert only appears once.

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());

Notes

Passing an invalid ID to clearTimeout() silently does nothing; no exception is thrown.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
clearTimeout 1 12 1
4From Internet Explorer 4 through 8, clearTimeout is an Object rather than a Function. This behavior was fixed in Internet Explorer 9.
4 4 ≤37 18 4 10.1 1 1.0
worker_support 3 12 3.5 10 ≤12.1 4 ≤37 18 4 ≤12.1 5 1.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/clearTimeout