blob: 5397448076e33963fd98aac4af66c59db2f1b0fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
---
title: clearTimeout()
slug: Web/API/clearTimeout
tags:
- API
- HTML DOM
- メソッド
- リファレンス
- clearTimeout
browser-compat: api.clearTimeout
translation_of: Web/API/clearTimeout
original_slug: Web/API/WindowOrWorkerGlobalScope/clearTimeout
---
{{APIRef("HTML DOM")}}
グローバルの **`clearTimeout()`** メソッドは、 {{domxref("setTimeout()")}} の呼び出しによって以前に確立されたタイムアウトを解除します。
## 構文
```js
clearTimeout(timeoutID)
```
### 引数
- `timeoutID`
- : 解除したいタイムアウトの識別子です。この ID は対応する `setTimeout()` から返されたものです。
注目すべきは、 {{domxref("setTimeout()")}} および {{domxref("setInterval()")}} で使用される ID のプールは共有されますので、技術的には `clearTimeout()` および {{domxref("clearInterval()")}} は互いに交換できます。しかし、明確化のため、そのようなことは避けてください。
## 例
ウェブページのコンテキストで以下のスクリプトを実行し、ページを一度クリックしてください。1秒後にメッセージがポップアップします。1秒間に複数回ページをクリックしても、アラートは一度しか表示されません。
```js
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 を渡しても、何の効果もありません。例外は発生しません。
## 仕様書
{{Specifications}}
## ブラウザーの互換性
{{Compat}}
## 関連情報
- {{domxref("setTimeout()")}}
- {{domxref("setInterval()")}}
- {{domxref("clearInterval()")}}
- {{domxref("Window.requestAnimationFrame()")}}
- [_Daemons_ 管理](/ja/docs/JavaScript/Timers/Daemons)
|