博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Angular练习之animations动画三
阅读量:6360 次
发布时间:2019-06-23

本文共 1986 字,大约阅读时间需要 6 分钟。

前言

文章基于angular的练手项目。
上一篇文章 中练习了入场和出场动画、 Keyframes实现串联动画、Group实现并行动画。今天练习动画回调函数、query选择器。

开始练习

回调函数

回调用法也是很简单,如下:
Callback(f:boolean){ if(f){ console.log("动画开始"); }else { console.log("动画结束"); } }

演示效果

query

用法和css选择器大致相同,通过query便可以实现不同元素实现不同的动画效果。
/*query选择器演示用法和css选择器大致相同 */export const QueryAnimate = trigger('QueryAnimate',[    transition('off=>on', [      // 先全部隐藏      query('div', style({ opacity: 0 })),      // 再执行动画      query('.box-top', animate('500ms',keyframes([        style({opacity: 0, transform: 'translateY(-400%)', offset: 0}),        style({opacity: 1, transform: 'translateY(0)',     offset: 1.0})      ]) )),      query('.box-center', animate('500ms',keyframes([        style({opacity: 0, transform: 'translateX(-400%)', offset: 0}),        style({opacity: 1, transform: 'translateX(0)',     offset: 1.0})      ]) )),      query('.box-foot', animate('500ms',keyframes([        style({opacity: 0, transform: 'translateY(400%)', offset: 0}),        style({opacity: 1, transform: 'translateY(0)',     offset: 1.0})      ]) )),      query('h2', animate('500ms',keyframes([        style({transform:'scale(0.5)'}),        style({transform: 'scale(1)'})      ]) )),    ]),    transition('on=>off', [      query('.box-top', animate('500ms',keyframes([        style({opacity: 1, transform: 'translateY(0)'}),        style({opacity: 0, transform: 'translateY(-400%)'})      ]) )),      query('.box-center', animate('500ms',keyframes([        style({opacity: 1, transform: 'translateX(0)'}),        style({opacity: 0, transform: 'translateX(-400%)'})      ]) )),      query('.box-foot', animate('500ms',keyframes([        style({opacity: 1, transform: 'translateY(0)'}),        style({opacity: 0, transform: 'translateY(400%)'})      ]) )),      query('h2', animate('500ms',keyframes([        style({transform:'scale(1)'}),        style({transform: 'scale(0.5)'})      ]) )),    ])  ]);

演示

源码

源码放在github开源社区上面,随时会更新。所以你下载最新版本的时候会与该文章描述的略有差异。

github地址:

转载地址:http://gvbma.baihongyu.com/

你可能感兴趣的文章
This is the fast solution with threads
查看>>
storm记录--2-- Storm是什么
查看>>
网络中的编址
查看>>
扩展IP访问控制列表
查看>>
python基础-函数(一)--python3
查看>>
subline text3 bgk显示乱码问题解决
查看>>
Apache Calcite官方文档中文版- 进阶-3. 流(Streaming)
查看>>
AI中的漫游行为,简单模拟了下
查看>>
开源的实时计算平台storm简介
查看>>
linux下终端登录802.1x的网络
查看>>
10G-LAN, 10G-WAN, OC192 POS的不同
查看>>
从IE7开始可以使用的CSS Selector(CSS选择器)
查看>>
linux下乱码问题
查看>>
Iexplore.exe[XXXX]中发生未处理的win32异常”解决办法
查看>>
linux 内核定时器解析
查看>>
漂亮的表格
查看>>
简易的PHP session数据库后端(Postgres)
查看>>
nodemon 与 supervisor 项目自动重启工具
查看>>
fedora18 安装virtualbox 步骤 与 解决kernel driver not ...
查看>>
深度完美 XP SP3 完美优化装机版 V2013
查看>>