如何设置间隔时间?

Prabhagaran Palanisamy

我为计时器使用了以下功能

 function startTimer(duration) {
        $rootScope.timer = duration;
        $rootScope.minute = 0;
        $rootScope.second = 0;
        $rootScope.Minutes = 0;
        $rootScope.Seconds = 0;
        setInterval(function () {
            $rootScope.minute = parseInt($rootScope.timer / 60, 10)
            $rootScope.second = parseInt($rootScope.timer % 60, 10);
            $rootScope.Minutes = $rootScope.minute < 10 ? "0" + 
            $rootScope.minute : $rootScope.minute;
            $rootScope.Seconds = $rootScope.second < 10 ? "0" + 
            $rootScope.second : $rootScope.second;
            if (--$rootScope.timer < 0) {
                $rootScope.timer = duration;
            }
        }, 1000);
    }

startTimer(300);

我正在使用$rootScope.Minutes$rootScope.Seconds考虑显示时间。而且时间减少了几秒钟。但是,如果我关闭计时器并再次打开,它将减少2秒。再一次我关闭并打开,它将减少3秒。就像明智的迭代一样。我不知道我在哪里弄错了。请帮我。

l3utterfly

每次调用时startTimer,它将触发另一个setInterval独立运行的。因为您使用的是相同的变量,所以每个变量将独立地setInterval对您的$rootScope.timer变量进行操作

解决方案是setInterval在开始时以及clearInterval设置新的时间间隔之前将手柄保存到

function startTimer(duration) {
        $rootScope.timer = duration;
        $rootScope.minute = 0;
        $rootScope.second = 0;
        $rootScope.Minutes = 0;
        $rootScope.Seconds = 0;

        // modified bit
        if($rootScope.internvalhandle) clearInterval($rootScope.internvalhandle);

        $rootScope.internvalhandle = setInterval(function () {
            $rootScope.minute = parseInt($rootScope.timer / 60, 10)
            $rootScope.second = parseInt($rootScope.timer % 60, 10);
            $rootScope.Minutes = $rootScope.minute < 10 ? "0" + 
            $rootScope.minute : $rootScope.minute;
            $rootScope.Seconds = $rootScope.second < 10 ? "0" + 
            $rootScope.second : $rootScope.second;
            if (--$rootScope.timer < 0) {
                $rootScope.timer = duration;
            }
        }, 1000);
    }

startTimer(300);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章