当变量使用 Angular 更改时,如何使某些内容闪烁
How do I make something blink when a variable changes with Angular
我对 angular 很陌生,我有一些这样的 css:
.heartbeat
{
transition:opacity 0.5s linear;
}
.heartbeat-active
{
opacity: 1;
}
定期更新作用域上的属性。如何在属性更改时使此转换运行一次?
我已经看过ngAnimation和addClass,但无法弄清楚如何以声明方式将它们拼接在一起。如果这可能吗?
受到 gnom1gnoms 答案和这个线程 https://groups.google.com/forum/#!msg/angular/xZptsb-NYc4/rKAxJ3dQhbMJ 的启发,我最终做的是这样的:
app.directive('highlightOnChange', function() {
return {
link: function($scope, element, attrs) {
attrs.$observe('highlightOnChange', function(val) {
var el = $(element);
el.removeClass('heartbeat');
_.defer(function() {
el.addClass('heartbeat')
});
});
}
};
});
也就是说,创建指令会观察属性。然后我可以像这样使用它:
<div highlight-on-change="{{value}}"></div>
并且不需要引用 $scope 中的元素。
只需监视您提到的属性,并在触发监视时添加 Class 检测信号活动
$scope.$watch('yourProperty', function(new, old) {
if(new != old)
$scope.yourElement.addClass(".heartbeat-active");
});
我假设您要闪烁的元素在范围内被引用。第二件事 - 您应该向检测信号类添加一些不透明度的初始值。
相关文章:
- 使线条在画布内闪烁
- 如何按时间间隔重新加载Iframe内容,使其不会闪烁
- 如果 PHP 响应等于某物,如何使 jQuery 警报
- 具有多个矢量图层的 OpenLayers 映射使整个页面在镶边中闪烁
- 如何使 Chrome 扩展程序的窗口在任务栏中闪烁
- 使用Jquery插件使标题栏闪烁得更快,Interval在Chrome中不起作用
- Javascript-使图像出现,然后将其替换为另一个图像(闪烁)
- 当变量使用 Angular 更改时,如何使某些内容闪烁
- 我该如何使用 jQuery 使某物循环 12 次
- 在 jQuery 中是否可以在不使页面闪烁的情况下自动刷新?就像在脸书中一样
- jquery:闪烁按钮文本会使按钮跳跃
- 在元素中使用mouseover和mouseout会使悬停持续闪烁
- 使文本闪烁,同时更改内容
- Phonegap Hybrid App - JavaScript重定向使一个绝对定位的元素闪烁并显示后面的内容
- 如何使按钮在单击时闪烁不同的背景颜色/
- 无法使图像闪烁(得到)预期的错误
- 如何在Javascript中使图像闪烁和重叠
- 如何使标题闪烁,直到它成为活跃的jQuery
- 我如何使某一行出现后,即使重新加载使用jquery
- Jquery显示/隐藏DIV,并使其闪烁时,它显示