aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/cleartimeout/index.md
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)