2013-10-17 103 views
3

我正在使用angularjs,每次模型属性发生变化时我都会尝试触发动画。 我的控制器:angularjs restart css animation

function myCtrl($scope) { 
    $scope.data.counter = 0; 
    $scope.addCount = function() { 
     $scope.data.counter ++; 
    }; 

} 

我的HTML:

<div ng-controller="myCtrl"> 
    <button ng-click="addCount()">add count</button> 
    <div class="bgimage"></div> 
</div> 

我的CSS:

.bgimage { 
     background-image: url('../images/a.png'); 
     background-position: right; 
     background-size: 16px 14px; 
     width: 16px; 
     height: 14px; 
} 
.bgimage.pulse { 
    -webkit-animation: pulse 1s both; 
    -moz-animation: pulse 1s both; 
    -o-animation: pulse 1s both; 
    animation: pulse 1s both; 
} 

我想,每次 '计数' 的变化, 'bgimage' 元素将被“脉冲”。

任何想法?

回答

0

从元素中删除并添加脉冲类别,以便再次进行动画处理。

+1

怎么样?我应该用指令来做吗?如何将它与AngularJS集成? – Naor

2

我做了一点Plunker,使用JS动画和基于您的计数器变量的动画。您可以根据需要扩展该示例。我想你只是想搏动一次(就像在动画中使用'两个'一样)。

你也可以去CSS关键帧动画,如上所述here

+1

谢谢!如果我快速点击按钮,即在上一个动画完成之前,是否有任何方法可以从头开始重新开始动画? – rustyx