简体   繁体   English

我想在 angularjs 中为倒数计时器添加暂停按钮

[英]I Would like to add pause button to my countdown timer in angularjs

$scope.countdown = function () {
    countdownStop = $timeout(function () {
        if ($scope.counter == 0) {
            $scope.stop();
            $scope.completeRound();

        }
        else {
            $scope.counter--;
            $scope.countdown();
        }
    }, 1000);
};

$scope.stop = function () {
    $timeout.cancel(countdownStop);
}

here i can able to stop and start but now i would like to add pause button to my timer when user clicks on pause button how i can i do that i am new to angularjs i was added one button in my game to pause my game在这里我可以停止和开始,但现在我想在用户点击暂停按钮时向我的计时器添加暂停按钮我该怎么做我是 angularjs 的新手我在我的游戏中添加了一个按钮来暂停我的游戏

In a button call the onPause handler.在按钮中调用 onPause 处理程序。

var pause = false;
$scope.countdown = function () {
   countdownStop = $timeout(function () {
      if ($scope.counter == 0) {
        $scope.stop();
        $scope.completeRound();

      }
      else {
        if(!pause){
        $scope.counter--;
        $scope.countdown();
        }
     }
   }, 1000);
};

$scope.stop = function () {
   $timeout.cancel(countdownStop);
}

$scope.onPause = function(){
pause = !pause;
}

Here is a possible solution:这是一个可能的解决方案:

$scope.active = true;

$scope.start = function() {
    $scope.active = true;
    $scope.countdown();
};

$scope.countdown = function () {
    countdownStop = $timeout(function () {
        if ($scope.counter == 0) {
            $scope.stop();
            $scope.completeRound();

        }
        else {
            if ($scope.active) {
                $scope.counter--;
                $scope.countdown();
            }
        }
    }, 1000);
};

$scope.pause = function() {
    $scope.active = false;
};

$scope.stop = function () {
    $timeout.cancel(countdownStop);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM