javascript - 在 SetTimeout 函数之后调用一个函数

标签 javascript html canvas settimeout

我有制作图像动画的代码,但我想在动画完成时通过调用 clearTimeout(gLoop); 调用函数 AnotherAction()

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()

最佳答案

我认为问题在于您在下次设置超时之前清除超时。 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;  
}

关于javascript - 在 SetTimeout 函数之后调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8557526/

相关文章:

javascript - p5.j​​s 形状循环错误(全部卡在一点)

javascript - 滚动过程中的像素化框

javascript - 如何在 Android 上将 getUserMedia 与 Cordova 一起使用?

html - 如何停止自动换行并按照我希望的方式集中线路?

javascript - JS && HTML5 如何在不同宽度和高度的 Canvas 中动态打开图片

javascript - 平滑地将可旋转的对象捕捉到一定程度

html - HTML 电子邮件中的可视区域

javascript - HTML5 Canvas - 为什么矩形的颜色总是返回黑色?

HTML5 Canvas - 视网膜显示器上纵向和横向的性能差异

javascript - 我可以从 typescript 中的 promise 返回数组列表吗