如何在JavaScript中暂停和恢复多个setTimeout?

时间:2020-07-04 18:29:05

标签: javascript

我陷入了似乎无法弄清的事情。我正在尝试使用多个Log.d("TAG", "Message with stack trace info", new Throwable()); 暂停和恢复动画,因为从代码中可以很明显地看出来,但它对我不起作用。我从以下代码中获取了代码: javascript: pause setTimeout(); 我根据程序编辑了代码,但似乎没有用。它只是从第一个状态开始播放动画,例如我在setTimeout暂停,但从var gT=setTimeout开始 我的代码如下:

var yT=setTimeout

1 个答案:

答案 0 :(得分:0)

您需要声明并设置剩余数并分别开始。

var start_yT,start_gT, remaining_yT, remaining_gT;

    
    function pause() {
        window.clearTimeout(yT);
        window.clearTimeout(gT);
        remaining_yT -= Date.now() - start_yT;
        remaining_gT -= Date.now() - start_gT;
    };

    function resume() {
        start = Date.now();
        window.clearTimeout(yT);
        window.clearTimeout(gT);
        yT = window.setTimeout(function(){
            all();
            loop();
        }, remaining_yT);
        gT = window.setTimeout(function(){
            all();
            loop();
        }, remaining_gT);


    };

pause();
resume();

如果您需要使用更高级的暂停/恢复功能,这就是 link。像我们手动创建的那样,这将分别在运行时创建每个计时器。

相关问题