📅  最后修改于: 2023-12-03 14:59:19.184000             🧑  作者: Mango
本文介绍一个基于AngularJS的计时器应用程序,可以实现计时、暂停、重置等功能。
我们需要在HTML中创建三个按钮分别用于启动计时器、暂停计时器和重置计时器。
<div ng-app="myApp" ng-controller="myCtrl">
<div class="timer">{{display}}</div>
<button ng-click="start()">Start</button>
<button ng-click="pause()">Pause</button>
<button ng-click="reset()">Reset</button>
</div>
我们需要编写一些CSS样式来美化计时器。
.timer {
font-size: 96px;
margin-bottom: 10px;
}
我们需要编写一些JavaScript代码来实现计时器的功能。
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $interval) {
var intervalPromise;
$scope.display = "00:00:00";
function startTimer() {
var duration = moment.duration($scope.elapsedTime, 'milliseconds');
$scope.display = duration.format('hh:mm:ss', { trim: false });
}
$scope.start = function() {
if (angular.isDefined(intervalPromise)) return;
$scope.startTime = Date.now();
intervalPromise = $interval(function() {
$scope.elapsedTime = Date.now() - $scope.startTime;
startTimer();
}, 1000);
};
$scope.pause = function() {
if (angular.isDefined(intervalPromise)) {
$interval.cancel(intervalPromise);
intervalPromise = undefined;
}
};
$scope.reset = function() {
$scope.elapsedTime = 0;
$scope.display = "00:00:00";
$scope.startTime = null;
$scope.pause();
};
});
我们需要在AngularJS的控制器中定义三个方法分别用于启动计时器、暂停计时器和重置计时器。
本篇文章介绍了一个基于AngularJS的计时器应用程序,可以实现计时、暂停、重置等功能。