English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Window setInterval() メソッド

JavaScript Window オブジェクト

setInterval()メソッドは、関数を再び呼び出したりコードブロックを実行したりする際に固定の時間遅延があります。

setInterval()メソッドは、指定された関数やコードを呼び出し続けますが、clearInterval()メソッドやウィンドウを閉じることで実行を停止します。

メソッドは、そのインターバルのユニークな識別子としてIDを返し、clearInterval()を呼び出して削除することができます。

指定されたミリ秒数内に一度だけ関数を実行するには、このsetTimeout()メソッド。

構文:

window.setInterval(function, delay, param1, param2, ...)
setInterval(function(){ alert("Hello World"); }, 2000);
テストを見て‹/›

ブラウザの互換性

テーブルの数字は、setInterval()メソッドを完全にサポートする最初のブラウザのバージョンを指定しています:

メソッド
setInterval()11414

引数の値

引数説明
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()メソッド

JavaScript Window オブジェクト