使用Angular Js显示定时器
Displaying Timer using Angular Js
我试图显示定时器和倒计时定时器从59秒到0秒以减少顺序,并在计数完成后显示警报消息。但是在显示倒计时时有一个问题,那就是它在0:1秒之前显示警报消息。有人能帮助解决这个问题吗?
代码:<!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>
if($scope.sec >0){
应: if($scope.sec ==0){
所以"1"不会触发它。"1"大于"0"
Try This:
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);
}
}
相关文章:
- jquery日期选择器显示与值不同的文本
- 如何在php/javascript中制作定时器和警报
- angular ui boostrap日期选择器显示年份第一
- 双倒计时定时器
- 一个定时器事件会在多大程度上减慢我在JavaScript中的代码
- 如何使这个JavaScript定时器正常工作
- 定时器输出保存
- 在两次java定时器循环后重定向访问者
- 如何解决jquery自定义定时器问题
- 如何为PHP/JS游戏制作倒计时/定时器
- vue.js使用定时器自动重新加载/刷新数据
- UIB日期选择器-显示前一天而不是当前日期(附Plunker)
- 在条件中的几个时间行中设置自定义css效果后,从Jquery时间选择器显示时间
- 如何让javascript定时器在不查看选项卡/窗口时停止
- Javascript、倒计时定时器和显示文本
- 停止闪烁的显示块/无定时器在JavaScript中
- 使用Javascript/Jquery显示定时器
- 客户端服务器定时器,显示在客户端(js),不能被欺骗
- 使用Angular Js显示定时器
- 改变定时器从var = 1200显示mm:ss的标题