我为AngularJS制作了一个网页。
我希望我的网页在特定时间内采取行动。
例如,
如果2016-01-07 11:00:00,
ng-show希望采取行动。
计时器正在使用Angular-timer。
但是,我不知道如何在时间变为0时举行活动
答案 0 :(得分:1)
如果你需要在定时器达到0时执行一些代码,那么只需使用'timer-stopped'事件。找到here
只是提示:您可以使用recognised format in the constructor或使用Date.parse
构建有效的约会对象通过这种方式,您可以使用以下方法检查您的日期/时间目标是否已经发生(或通过):
var targetDate = new Date('2016-01-07 11:00:00');
function targetDateHasPassed() {
return new Date() >= targetDate;
}
if(targetDateHasPassed()) {
//...do stuff
}
答案 1 :(得分:1)
您可以使用普通Java创建实时计时器,如果需要,可以使用if语句进行检查。像这样:
var app = angular.module('App', []);
app.controller('MainCtrl', function($scope, $timeout) {
$scope.clock = "loading clock..."; // initialise the time variable
$scope.tickInterval = 1000 //ms
var tick = function() {
$scope.clock = Date.now() // get the current time
$timeout(tick, $scope.tickInterval); // reset the timer
var d = new Date();
if (d.getMonth() + 1 == 1 && d.getDate == 7 && d.getHours == 11) { //January is 0, February is 1, and so on
//Your code goes here...
}
}
// Start the timer
$timeout(tick, $scope.tickInterval);
});
<!DOCTYPE html>
<html ng-app="App">
<head>
<script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.8/angular.js" data-semver="1.4.8"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<div>
<p>{{ clock | date:'medium'}}</p>
</div>
</body>
</html>
在本演示中,我使用了.getSeconds
,但您也可以按月,日,时,分钟来获取所需日期的提醒。
我希望这对你有所帮助:)。