JSチュートリアル

JSホーム JSの紹介 JSどこへ JS出力 JSステートメント JS構文 JSコメント JS変数 JS Let JSConst JSオペレーター JS算術 JS割り当て JSデータ型 JS関数 JSオブジェクト JSイベント JS文字列 JS文字列メソッド JS文字列検索 JS文字列テンプレート JS番号 JS番号メソッド JSアレイ JS配列メソッド JS配列ソート JSアレイの反復 JSアレイ定数 JSの日付 JSの日付形式 JS DateGetメソッド JS日付設定メソッド JS数学 JSランダム JSブール値 JSの比較 JS条件 JSスイッチ JSループFor JSループフォーイン JSループの JSループWhile JSブレイク JSIterables JSセット JSマップ JS Typeof JS型変換 JSビット単位 JS RegExp JSエラー JSスコープ JSホイスト JS厳密モード JSこのキーワード JSアロー関数 JSクラス JS JSON JSデバッグ JSスタイルガイド JSのベストプラクティス JSの間違い JSパフォーマンス JS予約語

JSバージョン

JSバージョン JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE /エッジ JSの歴史

JSオブジェクト

オブジェクト定義 オブジェクトのプロパティ オブジェクトメソッド オブジェクト表示 オブジェクトアクセサー オブジェクトコンストラクター オブジェクトのプロトタイプ オブジェクト反復可能 オブジェクトセット オブジェクトマップ オブジェクトリファレンス

JS関数

関数の定義 関数パラメーター 関数の呼び出し 関数呼び出し 機能適用 関数クロージャ

JSクラス

クラスイントロ クラス継承 クラス静的

JSAsync

JSコールバック JS非同期 JSの約束 JS Async / Await

JS HTML DOM

DOMイントロ DOMメソッド DOMドキュメント DOM要素 DOM HTML DOMフォーム DOM CSS DOMアニメーション DOMイベント DOMイベントリスナー DOMナビゲーション DOMノード DOMコレクション DOMノードリスト

JSブラウザBOM

JSウィンドウ JS画面 JSロケーション JSの歴史 JSナビゲーター JSポップアップアラート JSタイミング JSクッキー

JS Web API

WebAPIイントロ WebフォームAPI Web履歴API WebストレージAPI WebワーカーAPI Web Fetch API Web Geolocation API

JS AJAX

AJAXイントロ AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

JS JSON

JSONイントロ JSON構文 JSONとXML JSONデータ型 JSON解析 JSON文字列化 JSONオブジェクト JSON配列 JSONサーバー JSON PHP JSON HTML JSON JSONP

JSとjQuery

jQueryセレクター jQuery HTML jQuery CSS jQuery DOM

JSグラフィックス

JSグラフィックス JSキャンバス JSPlotly JS Chart.js JSグーグルチャート JS D3.js

JSの例

JSの例 JS HTML DOM JSHTML入力 JSHTMLオブジェクト JSHTMLイベント JSブラウザ JSエディター JS演習 JSクイズ JS証明書

JSリファレンス

JavaScriptオブジェクト HTMLDOMオブジェクト


JavaScriptタイミングイベント


1
2
3
4
5
6
7
8
9
10
11
12

JavaScriptは時間間隔で実行できます。

これはタイミングイベントと呼ばれます。


タイミングイベント

このwindowオブジェクトを使用すると、指定した時間間隔でコードを実行できます。

これらの時間間隔は、タイミングイベントと呼ばれます。

JavaScriptで使用する2つの主要な方法は次のとおりです。

  • setTimeout(function, milliseconds
    指定されたミリ秒数待機した後、関数を実行します。

  • setInterval(function, milliseconds
    setTimeout()と同じですが、関数の実行を継続的に繰り返します。

setTimeout()およびsetInterval()は、どちらもHTML DOMWindowオブジェクトのメソッドです


setTimeout()メソッド

window.setTimeout(function, milliseconds);

メソッドはwindow.setTimeout()、ウィンドウプレフィックスなしで記述できます。

最初のパラメータは実行される関数です。

2番目のパラメーターは、実行までのミリ秒数を示します。

ボタンをクリックします。3秒待つと、ページに「こんにちは」という警告が表示されます。

<button onclick="setTimeout(myFunction, 3000)">Try it</button>

<script>
function myFunction() {
  alert('Hello');
}
</script>


実行を停止する方法は?

このclearTimeout()メソッドは、setTimeout()で指定された関数の実行を停止します。

window.clearTimeout(timeoutVariable)

メソッドはwindow.clearTimeout()、ウィンドウプレフィックスなしで記述できます。

このメソッドは、 clearTimeout()から返された変数を使用します。setTimeout()

myVar = setTimeout(function, milliseconds);
clearTimeout(myVar);

関数がまだ実行されていない場合は、次のclearTimeout() メソッドを呼び出して実行を停止できます。

上記と同じ例ですが、「停止」ボタンが追加されています。

<button onclick="myVar = setTimeout(myFunction, 3000)">Try it</button>

<button onclick="clearTimeout(myVar)">Stop it</button>

setInterval()メソッド

このsetInterval()メソッドは、指定された時間間隔ごとに指定された関数を繰り返します。

window.setInterval(function, milliseconds);

メソッドはwindow.setInterval()、ウィンドウプレフィックスなしで記述できます。

最初のパラメーターは、実行される関数です。

2番目のパラメーターは、各実行間の時間間隔の長さを示します。

この例では、「myTimer」という関数を1秒に1回実行します(デジタル時計のように)。

現在の時刻を表示します。

setInterval(myTimer, 1000);

function myTimer() {
  const d = new Date();
  document.getElementById("demo").innerHTML = d.toLocaleTimeString();
}

1秒間に1000ミリ秒あります。


実行を停止する方法は?

このclearInterval()メソッドは、setInterval()メソッドで指定された関数の実行を停止します。

window.clearInterval(timerVariable)

メソッドはwindow.clearInterval()、ウィンドウプレフィックスなしで記述できます。

このメソッドは、 clearInterval()から返された変数を使用します。setInterval()

let myVar = setInterval(function, milliseconds);
clearInterval(myVar);

上記と同じ例ですが、「停止時間」ボタンを追加しました。

<p id="demo"></p>

<button onclick="clearInterval(myVar)">Stop time</button>

<script>
let myVar = setInterval(myTimer, 1000);
function myTimer() {
  const d = new Date();
  document.getElementById("demo").innerHTML = d.toLocaleTimeString();
}
</script>

その他の例