English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
setInterval()メソッドは、関数を再び呼び出したりコードブロックを実行したりする際に固定の時間遅延があります。
setInterval()メソッドは、指定された関数やコードを呼び出し続けますが、clearInterval()メソッドやウィンドウを閉じることで実行を停止します。
メソッドは、そのインターバルのユニークな識別子としてIDを返し、clearInterval()を呼び出して削除することができます。
指定されたミリ秒数内に一度だけ関数を実行するには、このsetTimeout()メソッド。
window.setInterval(function, delay, param1, param2, ...)
setInterval(function(){ alert("Hello World"); }, 2000);テストを見て‹/›
テーブルの数字は、setInterval()メソッドを完全にサポートする最初のブラウザのバージョンを指定しています:
メソッド | |||||
setInterval() | 1 | 1 | 4 | 1 | 4 |
引数 | 説明 |
---|---|
function | (必須)毎delay (遅延)ミリ秒ごとに一度実行する関数 |
delay | (必須)タイマーはミリ秒単位で(1000 ms = 1秒)、指定された関数またはコードの実行間に遅延があります。この値が10、その場合には値を使用10 |
param1, param2, ... | (オプション)このfunction(関数)其他参数 (IE9更早版本中不支持) |
返回值: | 一个数字,表示设置的计时器的间隔ID值。将此值与clearInterval()方法一起使用可取消计时器 |
---|
此示例引用外部“命名”函数:
var intervalID; function myFunc() { intervalID = setInterval(myCallback, 2000); } function myCallback() { alert("Hello World"); }テストを見て‹/›
显示当前时间(就像数字手表一样,每1秒钟执行一次“ startTimer()”函数):
var intervalID = setInterval(startTimer, 1000); function startTimer() { var date = new Date(); var x = document.getElementById("result"); x.innerHTML = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); }テストを見て‹/›
在上一个示例中,使用clearInterval()来停止时间:
var intervalID = setInterval(startTimer, 1000); function startTimer() { var date = new Date(); var x = document.getElementById("result"); x.innerHTML = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); } function stopTimer() { clearInterval(intervalID); }テストを見て‹/›
每200毫秒一次在两种背景颜色之间切换,直到由clearInterval()将其停止:
var t = setInterval(setColor, 200); function setColor() { var x = document.body; x.style.backgroundColor = (x.style.backgroundColor == "coral") ? "lightgreen" : "coral"; } function stopColor() { clearInterval(t); }テストを見て‹/›
使用setInterval()和clearInterval()创建动态进度条:
var i = 0; var bar = document.getElementById("progress",-bar"); var t; function start() { t = setInterval(progress, 60); } function progress() { if(i < 100) { i++; bar.style.width = i + “%”; bar.innerHTML = i + “ %”; } clearInterval(t); } } function stop() { clearInterval(t); }テストを見て‹/›
パラメータをmyFunc関数に渡します(IE9および、より古いバージョンでは動作しません):
var intervalID = setInterval(myFunc, 2000, "First", "Second", "Third");テストを見て‹/›
しかし、匿名関数を使用すると、すべてのブラウザで動作します:
var intervalID = setInterval(function(){ myFunc("First", "Second", "Third"); }, 2000);テストを見て‹/›
ウィンドウ(Window)リファレンス:clearInterval()メソッド
ウィンドウ(Window)リファレンス:setTimeout()メソッド
ウィンドウ(Window)リファレンス:clearTimeout()メソッド