Ng类-在将一个类添加到DOM后删除该类
Ng-class - remove a class after it is added to the DOM
我正在使用animate.css在同一元素上制作动画。我在添加后删除类时遇到问题。
HTML
<form ng-submit="animate()" ng-controller="AnimateCtrl">
<input type='text' ng-model="some">
</form>
<div ng-class="{shake:animation.shake}" class="animated">
角度
myapp.controller(function($scope){
var animation = $scope.animation = {
shake:false
};
$scope.animate=function(){
//remove the class first and add it back again
animation.shake = false
animation.shake = true
};
})
动画后如何删除类?
将animation.shake的值更改为false将删除该类。将其更改为true将添加类。这是ng类如何工作的基础。如果您希望动画运行一段时间,则需要使用$timeout进行切换。根据你的代码很难判断。以下示例使用$timeout删除该类,该类在2000毫秒后执行。
例如http://plnkr.co/edit/Wtxkrv2nIqSLNfEsvCyI?p=preview
CSS.红色{颜色:红色;}
HTML和代码
<!DOCTYPE html>
<html>
<head>
<script data-require="angular.js@*" data-semver="1.2.16" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="test">
<h1>Hello Plunker!</h1>
<span ng-class="{'red':animation.shake}">Hello World</span>
<button ng-click="shake()">red</button>
<script>
var app=angular.module("app",[]);
app.controller("test",function($scope,$timeout){
$scope.animation={shake:false};
$scope.shake=function(){
$scope.animation.shake=true;
$timeout(function(){
$scope.animation.shake=false;
},2000,true);
}
});
angular.bootstrap(document,["app"]);
</script>
相关文章:
- 如何判断何时将dom节点添加到文档中
- 向动态生成的DOM添加Angular自定义指令
- 如果移除并重新添加DOM元素,则ng单击绑定丢失
- 使用 Knockout 动态添加 dom 元素
- jquery使用$.on来添加dom元素
- 如何在 HTML 结构中添加 DOM 模型
- 如何强制.prepend()和.append()添加DOM对象,而不是文本
- AngularJS添加DOM元素
- 添加DOM视图太慢了,需要一种更好的方法来缓存一次视图并重用它供以后使用
- 带有模板的Dojo小部件,在小部件加载时更改模板(添加DOM元素)
- 添加 DOM 元素,什么是正确的方法
- 如何在画布上添加DOM对象
- 如何在每次迭代中添加DOM对象
- jQuery show()不是一个函数-用于添加DOM元素
- 只能添加dom元素,但不能删除它们
- 在单击按钮时动态添加DOM元素
- 添加 DOM 元素时获取通知
- 如何在React中添加dom
- 如何在Div背景中添加DOM图像对象
- 如何在按钮中添加DOM附加的功能