angular 动画

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 (如果元素将显示)

补充:css3过渡:

过渡属性

下表列出了所有的过渡属性:

属性 描述 CSS
transition 简写属性,用于在一个属性中设置四个过渡属性。 3
transition-property 规定应用过渡的 CSS 属性的名称。 3
transition-duration 定义过渡效果花费的时间。默认是 0。 3
transition-timing-function 规定过渡效果的时间曲线。默认是 "ease"。 3
transition-delay 规定过渡效果何时开始。默认是 0。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
div {
width: 100px;
height: 100px;
background: red;
-webkit-transition: width 2s, height 2s, -webkit-transform 2s; /* For Safari 3.1 to 6.0 */
transition: width 2s, height 2s, transform 2s;
}

div:hover {
width: 200px;
height: 200px;
-webkit-transform: rotate(180deg); /* Chrome, Safari, Opera */
transform: rotate(180deg);
}
</style>
</head>
<body>
<p><b>注意:</b>该实例无法在 Internet Explorer 9 及更早 IE 版本上工作。</p>

<div>鼠标移动到 div 元素上,查看过渡效果。</div>
</body>
</html>

补充:css3动画:

http://www.runoob.com/css3/css3-animations.html

回到angular:

<style>
@keyframes myChange {
from {
height: 100px;
} to {
height: 0;
}
}

div {
height: 100px;
background-color: lightblue;
}

div.ng-hide {
animation: 0.5s myChange;
}
</style>
<script src="https://cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script>
<script src="https://cdn.bootcss.com/angular.js/1.4.6/angular-animate.min.js"></script>
</head>
<body ng-app="ngAnimate">

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

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

</body>
</html>

时间: 2024-10-13 11:49:16

angular 动画的相关文章

angular动画

angularJs的动画是基于 angular-animate.js 这里是源码链接 它的基本原理是利用css的动画.transition. 方法是添加类名 以上图片截自菜鸟教程,注意看类名 这是点击动画效果实现后的表情. 我们在看css样式 div { transition: all linear 0.5s; background-color: lightblue; height: 100px; width: 100%; position: relative; top: 0; left: 0;

angular + 动画——复杂序列

用来控制复杂动画序列的函数如下: query() 用于查找一个或多个内部 HTML 元素. stagger() 用于为多元素动画应用级联延迟. group() 用于并行执行多个动画步骤.(并行) sequence() 用于逐个顺序执行多个动画步骤.(串行) Angular 中这些用于多元素动画的函数,都要从 query() 开始,查找出内部元素,比如找出某个 <div> 中的所有图片. 其余函数 stagger().group() 和 sequence() 会以级联方式或你的自定义逻辑来控制要

angular2的动画

谈起angular2(现在已经angular4)了,个人觉得angular2的官方文档不适合初学者(真心吐槽..),所以每一块弄懂都不那么容易. 为了弄懂angular的动画自己也是花了好一番功夫的,不客观的说,angular的动画写起来是有些复杂的,但又必须掌握. 好了,废话不多说,开始正文吧. 1:angular动画的使用需要先引入一些与动画有关的函数. import { NgModule } from '@angular/core'; import { BrowserModule } fr

使用angular的一些小总结

使用angular做一个项目,却又不是完全使用的,不过也算用过了angular,里面一些常见问题,在此总结下 var routeApp = angular.module('allApp',['ngAnimate']); 1.希望$http是post传值,在头部添加 routeApp.config(function($httpProvider){ $httpProvider.defaults.transformRequest = function(data) { //使用jQuery的param方

Angular 打造企业级协作平台

第1章 课程介绍介绍产品的功能和用途,课程内容安排,建立开发环境和必要的开发工具介绍 第2章 用 Angular Material 组件打造页面对 Angular 官方组件库 -- Angular Material -- 进行逐步学习,使用 Sidenav 和 flexbox 进行页面布局.学习表单常用组件:MdInput,MdSelect 和 MdRadio 以及其事件处理.通过打造应用框架和登录页熟悉这些组件的使用,以及 Web API 的接入和调试... 第3章 Angular 动画Ang

四:Angular 元数据

元数据告诉 Angular 如何处理一个类. @Component({ selector: 'hero-list', templateUrl: './hero-list.component.html', providers: [ HeroService ] }) export class HeroListComponent implements OnInit { /* . . . */ } @Component装饰器能接受一个配置对象, Angular 会基于这些信息创建和展示组件及其视图. @

初识AngularJs

今天看看angular.文章将从三个大的部分来说,第一部分什么是angular,第二部分,初次使用时需要注意的一些事项,第三部分,angular基础概念: 一,什么是AngularJs? AngularJs是为了克服html在构建应用上的不足而设计的,它是一个JavaScript框架.通过使用我们称为标识符的结构,让浏览器能够识别新的语法.例如使用{{}}进行数据绑定. AngularJs通过为开发者呈现一个更高层次的抽象来简化应用开发,这在带来方便的同时也导致灵活性的降低.AngularJs主

[译]AngularJS 1.3.0 开发者指南(一) -- 介绍 (转)

http://www.cnblogs.com/lzj0616/p/6440563.html [译]AngularJS 1.3.0 开发者指南(一) -- 介绍 Angular是什么 ? AngularJS是一款针对动态web应用的结构框架. 它可以让像使用模板语言使用HTML, 并且可以扩展HTML的语法来明确简洁的表示应用组件. Angular的数据绑定机制和依赖注入机制排除了许多原本你不得不写的代码. 它作用于浏览端, 使得它成为任何服务端技术的良好伙伴. Angular是为了弥补HTML在

angularjs杂谈

1.MVVM的看法:我给view里面各种控件也定义一个对应的数据对象,这样,只要修改这个数据对象,view里面显示的内容就自动跟着刷新,而在view里做了任何操作,这个数据对象也跟着自动更新. ViewModel:就是与界面(view)对应的Model.因为,数据库结构往往是不能直接跟界面控件一一对应上的,所以,需要再定义一个数据对象专门对应view上的控件.而ViewModel的职责就是把model对象封装成可以显示和接受输入的界面数据对象. 简单的说,ViewModel就是View与Mode