在SetTimeout函数之后调用函数

时间:2011-12-19 05:40:53

标签: javascript html5 canvas settimeout

我有这个代码可以制作图像动画,但我希望在通过调用AnotherAction()

完成动画时调用函数clearTimeout(gLoop);
var Animate = function(){  
    Clear();  
    MoveDown();  
    gLoop = setTimeout(Animate,40);  
}

var MoveDown = function(){  
    // animation code  
    if(velocity==0){  
        clearTimeout(gLoop);  
        AnotherAction();  //Here is not working  
    }  
}

我应该拨打AnotherAction()的电话?

1 个答案:

答案 0 :(得分:3)

我认为问题在于您在下次之前清除超时MoveDown正在清除超时,但只要控件切换回Animate,您就会再次设置它。

尝试这样的事情:

var Animate = function(){  
    Clear();  
    if (MoveDown())
        gLoop = setTimeout(Animate,40);  
}

var MoveDown = function(){  
    // animation code  
    if(velocity==0){  
        AnotherAction();  //Here is not working  
        return false;
    }
    return true;  
}