AngularJS动画

1.AngularJS提供了动画效果,可以配合CSS使用;

 

2.AngularJS使用动画需要引入angular-animate.min.js库

<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular-animate.min.js.min.js"></script>

还需要在应用中使用模型ngAnimate:<body ng-app="ngAnimate">

 

3.动画是通过改变HTML元素产生的动态变化效果;

<body ng-app="ngAnimate">

隐藏DIV:<input type="checkbox" ng-model="myCheck">

<div ng-hide="myCheck"></div>

</body>

 

4.如果我们应用已经设置了应用名,可以把ngAnimate直接添加在模型中:

<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>

 

5.ngAnimate做了什么?

**ngAnimate模型可以添加或移除class;

**ngAnimate模型并不能使HTML元素产生动画,但是ngAnimate会监测事件,类似隐藏显示HTML元素,如果事件发生ngAnimate就会使用预定义的class来设置HTML元素的动画

**AngularJS添加/移除class的指令:

(1)ng-show:添加ng-class的值

(2)ng-hide:移除ng-class的值

(3)ng-class

(4)ng-view

(5)ng-include

(6)ng-repeat:当HTML元素位置改变时,ng-repeat指令同样可以添加ng-move类

(7)ng-if

(8)ng-switch

类集合:

(9)ng-animate

(10)ng-hide-animate

(11)ng-hide-add:如果元素将被隐藏

(12)ng-hide-remove:如果元素将显示

(13)ng-hide-add-active:如果元素将隐藏

(14)ng-hide-remove-active:如果元素将显示

 

6.使用CSS动画:

CSS过渡:让我们平滑的将一个CSS属性值改为另一个:

<style>

div{

  transition:all linear 0.5s;

  background-color:lightblue;

     height:100px;

}

.ng-hide{height:0;} //在DIV元素设置了.ng-hide类时,过渡需要花费0.5秒,高度从100px变为0;

</style>

 

7.CSS动画:CSS动画允许你平滑的修改CSS属性值

<style>

@keyframe myChange{

  from{

    height:100px;

  }to{

    height:0;

    }

}

div{

  height:100px;

  background-color:lightblue;

}

div.ng-hide{animation:0.5s myChange;}

</style>

 

posted @ 2016-12-05 16:51  小春熙子  阅读(147)  评论(0编辑  收藏  举报