2014-08-28 32 views
3

嘗試使用角度js創建倒計時演示。如何在角度js中顯示倒計數

一旦我在空閒狀態下30秒,我需要顯示從10開始向下到0計數,

如何實施倒計時計時器。

這是我試過的。

var time = $timeout(function() { 
      $rootScope.$broadcast('shutdwon'); 
       setTimeout(function() { 
        $location.path('/'); 
       }, 1500); 
     }, 30000); 

回答

2

它的簡單嘗試了這一點

Working Demo

HTML

<div ng-app ng-controller="countController">Count starts after 30 seconds<div>Count :: {{countDown}}</div> 
<div> 

腳本

function countController($scope, $timeout) { 
    $scope.countDown = 10; 
    var time = $timeout(function() { 
     var timer = setInterval(function() { 
      if ($scope.countDown > 0) { 
       $scope.countDown--; 
      } else { 
       clearInterval(timer) 
      } 
      $scope.$apply(); 
     }, 1500); 
    }, 30000); 
} 
2

我已經做了這種事情來顯示會話超時信息。

請檢查以下示例代碼。哪些可以根據您的要求進行改進和使用。

function MyCtrl($scope,$timeout) { 
     $scope.isUserActive = false; 
     $scope.userActivityInterval = 1000; 
     $scope.redirectLoginInterval =10000; 
     $scope.timerSpan= $scope.redirectLoginInterval/ $scope.userActivityInterval; 
     $scope.resetActivity=function() { 
      if ($scope.isUserActive == true) { 


       clearTimeout($scope.redirectTimer); 
       $scope.redirectTimer = $timeout($scope.redirectToLogin, $scope.redirectLoginInterval); 

       $scope.timerSpan = $scope.redirectLoginInterval/ $scope.userActivityInterval; 
      } 
      else { 
       $scope.timerSpan -= $scope.userActivityInterval/$scope.userActivityInterval; 
      } 

      clearTimeout($scope.activityTimer); 
      $scope.activityTimer = $timeout($scope.resetActivity, $scope.userActivityInterval); 

      $scope.isUserActive = false; 
     }; 

    $scope.activityTimer = $timeout($scope.resetActivity, $scope.userActivityInterval); 
     $scope.redirectTimer = $timeout($scope.resetActivity, $scope.redirectLoginInterval); 

}

Demo