setInterval
setInterval
一定の間隔で何かを実行するよう命令する関数です。
途中で解除もできます。
使い方
window.onload = function() {
const w = 500;
const h = 500;
// Canvas の章で作成した Canvas.js
const Canvas = new CanvasClass();
const ctx = Canvas.getContext();
ctx.fillStyle = 'rgb(191, 255, 191)';
ctx.fillRect(0, 0, w, h);
let counter = 1;
ctx.font = '13px serif'
// setInterval(function() { 実行したい処理 }, 遅延(ms))
const id = setInterval(function() {
ctx.fillStyle = 'rgb(191, 255, 191)';
ctx.fillRect(0, 0, w, h);
ctx.fillStyle = 'rgb(0, 0, 0)';
ctx.fillText(`読み込みが完了してから、${counter}秒経ちました。`, 10, 100);
counter ++;
}, 1000);
document.getElementById('stopButton').addEventListener('click', e => {
clearInterval(id);
e.target.innerHTML = 'タイマーを止めました。'
});
}
setInterval関数は二つ目の引数に遅延(ms)を指定することで、遅延(ms)後に実行することができる関数です。
msは1 / 1000秒で、1000ms = 1s(1000ミリ秒で1秒)となります。
今回は1秒後(読み込みが完了してから1秒毎)に、読み込みが完了してから経過した秒数を表示しています。
setInterval関数は、実行されると一意のidを返します。
これをclearInterval関数(20行目)に渡して実行することで、遅延実行を終了できます。