我每2秒调用js函数,在某些情况下,我想在视图上更新div。

 <div id="ball_{{ballIndex}}">{{ball}}</div>


在ng控制器上

       var myCounter = 0;

        var interval = $interval(function () {
            if (myCounter <= 35) {
                myCounter ++;
                DoSomething();
            } else {
                //
            }
        }, 1500);

        function setCurrentBallEffect() {
            $('#ball_' + myCounter).addClass('magictime puffIn');
        }

        function DoSomething() {
            if (myCounter == 0) {
                $scope.ballIndex = 1;
            } else {
                $scope.ballIndex = myCounter;
            }
        }


使用此代码,仅将迭代中的第一个div应用于magictime puffIn类。当我在视图侧对div id进行硬编码时,例如<div id="ball_1">1</div> <div id="ball_2">2</div> ..在每个div上应用css类工作。我做错了什么?

更新:
尝试过

<div ng-attr-id="{{ 'ball_' + ballIndex }}"> </div>


但是问题仍然存在。

最佳答案

首先,您必须定义

var myCounter =0;


我不懂球

您必须这样定义它:

$scope.ball=0;


我这样改变看法

<div id="ball_{{ballIndex}}">{{ballIndex}}</div>


并且您的JavaScript更改如下:

var poolCounter = 0;
    var myCounter = 0;

    var interval = $interval(function () {
        if (myCounter <= 35) {
            myCounter++;
            DoSomething();
        } else {
            //
        }
    }, 1500);

    function setCurrentBallEffect() {
        $('#ball_' + myCounter).addClass('magictime puffIn');
    }

    function DoSomething() {
        if (myCounter == 0) {
            $scope.ballIndex = 1;
        } else {
            $scope.ballIndex = myCounter;
        }
    }

07-24 09:48
查看更多