详解微信小程序动画Animation执行过程


Posted in Javascript onSeptember 23, 2020

前言

因官方文档描述不清晰,本文主要介绍微信小程序动画 实现过程 / 实现方式

实现过程

推荐你对照 官方文档 来看本文章,这样更有利于理解。

简单来说,整个动画实现过程就三步:

  • 创建一个动画实例 animation
  • 调用实例的方法来描述动画。
  • 最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。

详解微信小程序动画Animation执行过程

前两步是定义一个动画并设置都要干什么,然后把这个设置好的 “规则” 扔给界面上的某个元素,让它按照这个规则执行。

当然如果有多个元素的 animation="{{ani}}",也都会执行这个动画规则。

实现过程

上面是理论,接下来进入实操环节,我们通过一个例子来验证。

详解微信小程序动画Animation执行过程

index.wxml

<!-- 动画容器(执行动画) -->
<view animation="{{ ani }}" class="content"></view>
<!-- END -->

<!-- 触发按钮 -->
<button bindtap="go">动起来</button>
<!-- END -->

index.js

Page({

 /*
 * 事件处理
 */
 data: {},

 /*
 * 事件处理
 */
 go: function() {
 
 // 1.创建动画实例(animation)
 var animation = wx.createAnimation({
  duration: 1500,//动画持续时间
  timingFunction: 'ease-in',//动画以低速开始
  //具体配置项请查看文档
 })

 // 2.通过实例描述对象()
 /*
 * 链式(类似JQuery)
 * 用 . 拼接动画
 * 最后step()结尾表动画结束
 */
 animation.translate(100, 100).rotate(180).rotate(360).step()

 // 3.导出动画
 this.setData({
  ani: animation.export()
 })
 }
})

index.css

.content {/*为了能看清效果*/
 width: 200rpx;
 height: 200rpx;
 border: 3px solid red;
}

总结

到此这篇关于微信小程序动画Animation执行过程 / 实现过程 / 实现方式详解的文章就介绍到这了,更多相关微信小程序动画Animation内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript中获取选中对象的类型
Apr 02 Javascript
jquery中交替点击事件toggle方法的使用示例
Dec 08 Javascript
javascript面向对象之定义成员方法实例分析
Jan 13 Javascript
javascript中DOM复选框选择用法实例
May 14 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
全面解析Bootstrap中transition、affix的使用方法
May 30 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
Jul 22 Javascript
AngularJS ng-template寄宿方式用法分析
Nov 07 Javascript
Vue应用部署到服务器的正确方式
Jul 15 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
vue-i18n实现中英文切换的方法
Jul 06 Javascript
原生js滑动轮播封装
Jul 31 Javascript
原生js实现分页效果
Sep 23 #Javascript
原生js实现购物车
Sep 23 #Javascript
javascript实现简易计算器功能
Sep 23 #Javascript
javascript使用正则表达式实现注册登入校验
Sep 23 #Javascript
javascript实现点击按钮切换轮播图功能
Sep 23 #Javascript
Vue3为什么这么快
Sep 23 #Javascript
Angular短信模板校验代码
Sep 23 #Javascript
You might like
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
js 页面执行时间计算代码
2009/03/04 Javascript
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
jQuery 开天辟地入门篇一
2009/12/09 Javascript
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
angular双向绑定模拟探索
2016/12/26 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
介绍一下OSI七层模型
2012/07/03 面试题
培训心得体会
2013/12/29 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
正规欠条模板
2015/07/03 职场文书
小学二年级语文教学反思
2016/03/03 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
SpringBoot整合minio快速入门教程(代码示例)
2022/04/03 Java/Android
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js