如何在angularjs中的特定时间举办活动?

时间:2016-01-06 13:37:24

标签: angularjs events

我为AngularJS制作了一个网页。

我希望我的网页在特定时间内采取行动。

例如,

如果2016-01-07 11:00:00,

ng-show希望采取行动。

计时器正在使用Angular-timer。

http://siddii.github.io/angular-timer/?utm_source=angular-js.in&utm_medium=website&utm_campaign=content-curation

但是,我不知道如何在时间变为0时举行活动

2 个答案:

答案 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,但您也可以按月,日,时,分钟来获取所需日期的提醒。

我希望这对你有所帮助:)。