javascript - 使用 angularjs 根据时间更改背景颜色。

标签 javascript css angularjs

我已经为它编写了代码,我在其中尝试将时间转换为十六进制值,然后将该十六进制值传递给背景颜色。 这是 Controller 的代码,下面是 View 的代码。感谢任何帮助。我想我在这里遗漏了一些非常小的东西,但我无法弄清楚。

var app = angular.module('myApp', []);
app.controller('TimeCtrl', function($scope,$timeout, $filter) {
    $scope.clock = "loading clock"; // initialise the time variable
    $scope.tickInterval = 1000 //ms
    

    var tick = function () {
        $scope.clock = Date.now() // get the current time
        $scope.a = $filter('date')($scope.clock,'HHmmss');
        $timeout(tick, $scope.tickInterval); // reset the timer
    }

    // Start the timer
    $timeout(tick, $scope.tickInterval);
   
})
<html>

  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <script src="script.js"></script>
  </head>

  <body ng-app="myApp">
    <div ng-controller='TimeCtrl'>
      <p ng-style="{'background-color': '#{{a}}'}">{{clock |date : 'HH:mm:ss'}}</p>
        {{a}}
    </div>
  </body>

</html>

最佳答案

首先,在这种情况下你不想使用$timeout,你想使用$interval

其次,ng-style 已经需要一个 Angular 表达式,因此不需要 {{}}。我所做的只是将表达式更改为语法正确。

var app = angular.module('myApp', []);
app.controller('TimeCtrl', function($scope,$interval, $filter) {
    $scope.clock = "loading clock"; // initialise the time variable
    $scope.tickInterval = 1000 //ms

    var tick = function () {
        $scope.clock = Date.now() // get the current time
        $scope.a = $filter('date')($scope.clock,'HHmmss');
    }

    // Start the timer
    $interval(tick, $scope.tickInterval);
   
})
<html>

  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <script src="script.js"></script>
  </head>

  <body ng-app="myApp">
    <div ng-controller='TimeCtrl'>
      <p ng-style="{'background-color': '#' + a }">{{clock |date : 'HH:mm:ss'}}</p>
        {{a}}
    </div>
  </body>

</html>

关于javascript - 使用 angularjs 根据时间更改背景颜色。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29313455/

相关文章:

javascript - 尝试了解有关 Symbol.hasInstance 的官方 ES6 规范

html - 删除小部件周围的虚线

javascript - AngularJS ngclick 切换函数调用

javascript - 如何使用在另一个 javascript 文件中调用的函数的 JSON 结果

javascript - 在 Javascript 中根据周数获取日期周期的简单方法

css - 如何使用页面高度的百分比设置 HTML 元素的边距?

angularjs - ng-tags-input,如何禁用用户输入?

javascript - 启动时调用函数时单元测试失败

javascript - jQuery:随机淡入淡出div(无论项目数量如何)

css - 向 Bootstrap 添加颜色类