2016-08-16 2 views
0

Я пытаюсь отобразить Таймер и таймер обратного отсчета от 59 секунд до 0 секунд в порядке убывания, а также отображать предупреждающее сообщение после того, как счетчик завершается. Но есть проблема с отображением обратного отсчета, на котором отображается его предупреждающее сообщение до . 0: 1 секунд. Любой может помочь решить эту проблему.Отображение таймера с помощью Угловое Js

код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
    <title></title> 
    <style type="text/css"> 
     body 
     { 
      font-family: Arial; 
      font-size: 10pt; 
     } 
    </style> 
</head> 
<body> 



<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script> 
<script type="text/javascript"> 

    var app = angular.module('MyApp',[]) 
    app.controller('MyController',function($scope,$window,$timeout){ 

     var tim; 
     $scope.totalsec = 60; 
     var countdowntime= function(){ 
      $scope.totalsec--; 
      $scope.min = parseInt($scope.totalsec/60, 10); 
      $scope.sec = $scope.totalsec - ($scope.min * 60); 

      if($scope.sec >0){ 
       tim = $timeout(countdowntime, 1000); 
      } else if($scope.sec ==0){ 
       $timeout.cancel(tim); 
       $window.alert("Time Up"); 
      } 
     }; 
     countdowntime(); 

    }); 

</script> 
<div ng-app="MyApp" ng-controller="MyController"> 
    countertime:{{min}}:{{sec}} 
</div> 
</body> 
</html> 

ответ

0
if($scope.sec >0){ 

должно быть:

if($scope.sec ==0){ 

Таким образом, "1" не стрелять. «1» больше, чем «0».

+0

Привет. Его не работает, если я сохраняю if ($ scope.sec == 0) вместо if ($ scope.sec> 0) – user3172464

0

Попробуйте это:

function AlbumCtrl($scope,$timeout) { 
$scope.counter = 0; 
$scope.onTimeout = function(){ 
    $scope.counter++; 
    mytimeout = $timeout($scope.onTimeout,1000); 
} 
var mytimeout = $timeout($scope.onTimeout,1000); 

$scope.stop = function(){ 
    $timeout.cancel(mytimeout); 
} 
} 
+0

может у вас удержать указанный выше код в https://jsfiddle.net/, чтобы показать, как это работает – user3172464