AngularJS 动画
AngularJS 提供了动画效果,可以配合 CSS 使用。
AngularJS 使用动画需要引入 angular-animate.min.js 库。
1
|
< script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular-animate.min.js"></ script >
|
还需在应用中使用模型 ngAnimate:
1
|
< body ng-app="ngAnimate">
|
示例:勾选复选框隐藏 DIV
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<! DOCTYPE html>
< html >
< head >
< meta charset="utf-8">
< style >
div {
transition: all linear 0.5s;
background-color: lightblue;
height: 100px;
width: 100%;
position: relative;
top: 0;
left: 0;
}
.ng-hide {
height: 0;
width: 0;
background-color: transparent;
top:-200px;
left: 200px;
}
</ style >
< script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></ script >
< script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular-animate.min.js"></ script >
</ head >
< body ng-app="ngAnimate">
< h1 >隐藏 DIV: < input type="checkbox" ng-model="myCheck"></ h1 >
< div ng-hide="myCheck"></ div >
</ body >
</ html >
|
如果我们应用已经设置了应用名,可以把 ngAnimate 直接添加在模型中:
1
2
3
4
5
6
7
8
9
|
< body ng-app="myApp">
< h1 >隐藏 DIV: < input type="checkbox" ng-model="myCheck"></ h1 >
< div ng-hide="myCheck"></ div >
< script >
var app = angular.module('myApp', ['ngAnimate']);
</ script >
|
ngAnimate做了什么呢?
ngAnimate 模型可以添加或移除 class 。
ngAnimate 模型并不能使 HTML 元素产生动画,但是 ngAnimate 会监测事件,类似隐藏显示 HTML 元素 ,如果事件发生 ngAnimate 就会使用预定义的 class 来设置 HTML 元素的动画。
AngularJS 添加/移除 class 的指令:
ng-show
ng-hide
ng-class
ng-view
ng-include
ng-repeat
ng-if
ng-switch
ng-show
和 ng-hide
指令用于添加或移除 ng-hide
class 的值。
其他指令会在进入 DOM 会添加 ng-enter
类,移除 DOM 会添加 ng-leave
属性。
当 HTML 元素位置改变时,ng-repeat
指令同样可以添加 ng-move
类 。
此外, 在动画完成后,HTML 元素的类集合将被移除。例如: ng-hide
指令会添加一下类:
ng-animate
ng-hide-animate
ng-hide-add
(如果元素将被隐藏)ng-hide-remove
(如果元素将显示)ng-hide-add-active
(如果元素将隐藏)ng-hide-remove-active
(如果元素将显示)
我们可以使用 CSS transition(过渡) 或 CSS 动画让 HTML 元素产生动画效果。如:
1
2
3
4
5
6
7
8
9
10
|
< style >
div {
transition: all linear 0.5s;
background-color: lightblue;
height: 100px;
}
.ng-hide {
height: 0;
}
</ style >
|
CSS 动画允许你平滑的修改 CSS 属性值:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
< style >
@keyframes myChange {
from {
height: 100px;
} to {
height: 0;
}
}
div {
height: 100px;
background-color: lightblue;
}
div.ng-hide {
animation: 0.5s myChange;
}
</ style >
|
文章来源: www.cnblogs.com,作者:姜腾腾,版权归原作者所有,如需转载,请联系作者。
原文链接:www.cnblogs.com/jiangtengteng/p/5993857.html
- 点赞
- 收藏
- 关注作者
评论(0)