Javascript AngularJs实时股票行情器-当值发生变化时,闪烁高亮显示绿色或红色

Javascript AngularJs实时股票行情器-当值发生变化时,闪烁高亮显示绿色或红色,javascript,css,angularjs,Javascript,Css,Angularjs,我正在尝试使用angularjs构建一个实时股票行情应用程序 app.js var sa = angular.module('sa', []); sa.controller('HomeController', function ($scope, $http, $timeout) { var poll = function() { $http.get('/api/v1/stocks').success( function(stocks)

我正在尝试使用angularjs构建一个实时股票行情应用程序

app.js

var sa = angular.module('sa', []);

sa.controller('HomeController', function ($scope, $http, $timeout) {

    var poll = function() {
        $http.get('/api/v1/stocks').success(
            function(stocks)
            {
            $scope.stocks = stocks;
            $timeout(poll, 2000);
            }
        );
    };

    poll();
});
home.html

<table>
    <tbody>
    <tr data-ng-repeat="stock in stocks">
        <td>{{ stock.code }}</td>
        <td>{{ stock.bid }}</td>
        <td>{{ stock.ask }}</td>
        </tr>
    </tbody>
</table>

{{stock.code}
{{stock.bid}
{{stock.ask}
该调查工作正常,并正确更新股票,但我希望实现的是,如果股票价值增加,然后动画闪烁背景的出价/要求在绿色。如果股票价值下降,则动画以红色闪烁该出价/出价的背景

我要寻找的是股票的背景闪烁红/绿,然后淡出背景色


是否有一个监视/事件侦听器函数可以帮助我了解这一点?

中讨论了一种有条件地向元素添加类并将其删除的方法

接受的答案包括,当监视的值更改时临时添加一个类。当值的变化是增加或减少时,可以稍微修改该指令以应用不同的css类。这一点,再加上一些css转换,基本上就是您想要的

请参阅此演示:

更改为荧光灯指令:

var newclass= nv < ov ? 'highlight-red' : 'highlight-green';  

通过将td改为ul?@j.witter谢谢,伙计,我希望用粗体和未绑定的过渡来转换一些不重复的
    项目,这对
      项目有效吗。你能举个例子说明它是怎么做的吗?无法调整此代码以执行此操作:(我实际上能够获取代码以输入指令,但未添加/删除该类。我希望在div中的
        项上执行此操作(无ng重复)您可以尝试以下操作:。当股票价值下降时,它会将li加粗。注意-我在css转换中添加了字体大小,因为字体重量在大多数浏览器中都不能很好地显示。谢谢,伙计,我已经尝试过了,除了转换之外,它似乎可以或多或少地实现我想要的功能。但在我的页面上,它根本无法工作!
        <tr data-ng-repeat="stock in stocks track by $index" class="list" >  
            <td>{{ stock.code }}</td>
            <td highlighter="stock.bid">{{ stock.bid }}</td>  
            <td highlighter="stock.ask">{{ stock.ask }}</td>  
        </tr>
        
        .highlight-red {
            background-color: red;  
        }
        .highlight-green {
            background-color: green;  
        }
        td {
            -webkit-transition: 1s linear all;  
            transition: 1s linear all;  
            background-color: clear;  
        }