setInterval 執行後就會不斷的重覆
setInterval(function, milliseconds, param1, param2, ...)
重覆一次的速度 milliseconds 1秒 = 1000
直到關閉視窗或是執行到 clearInterval 為止
需要先設定 ID值 之後在 clearInterval 會用到
clearInterval(var)
因為要把一直在重覆動作的 function 停止
所以 clearInterval 的參數 var 就是 ID值
直接用 "計數" 為例
載入後就開始計算時間
var startTime=new Date();
var count = setInterval(function(){ // count = ID值
console.log(Math.round((new Date()-startTime)/1000));
},1000);
每過一秒就會看到 console 加一
直到按下 button 停止鍵執行 clearInterval
<button onclick="stop();">停止</button>
按下停止鍵執行 clearInterval
var stop = function(){
clearInterval(count);
}
這在 canvas 可以作為連續動畫使用
例如要讓矩形原地旋轉
var num = 0;
var rotate_rect = setInterval(function(){
ctx.clearRect(0, 0, 200, 200);
num++; // 數字累加
ctx.save();
ctx.translate(100, 80);
ctx.rotate(num * Math.PI/180);
ctx.translate(-100, -80);
ctx.beginPath();
ctx.rect(40,60,120, 40);
ctx.fill();
ctx.restore();
},10);
停止
var stop = function(){
clearInterval(rotate_rect);
}