SetInterval和clearInterval说明

时间:2013-08-19 09:33:09

标签: javascript

var fps = 30;
var drawInterval;

imageSprite.addEventListener('load',init,false);

function init() {
    drawBg();
    startDrawing();
}

function draw() {        
    clearJet();
    drawJet();
}

function startDrawing() {
    stopDrawing();
    drawInterval = setInterval(draw,1000 / fps);
}

function stopDrawing() {
    clearInterval(drawInterval);
}

任何人都可以解释为什么我们在drawInetrval之前执行函数stopDrawing()以及这段代码将如何执行。

2 个答案:

答案 0 :(得分:1)

基本上使用clearInternal,您将停止drawInterval引用的时间间隔。

您可以将其视为设置drawInterval = null

这样做是为了防止多个间隔触发:每次调用startDrawing时,重置当前正在进行的间隔并启动一个将以1000 / fps毫秒触发的新间隔,即drawInterval将触发最后一次调用1000/fpsstartDrawing毫秒。

答案 1 :(得分:0)

只是清除间隔,以便您不会同时运行多个间隔。