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
このページの互換性表は構造化データから作成されています。データに協力したい場合は、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送ってください。