详解微信小程序动画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语言的思想前提想学习js的朋友可以看看
Apr 01 Javascript
js 返回时间戳所对应的具体时间
Jul 20 Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 Javascript
纯JavaScript手写图片轮播代码
Oct 20 Javascript
jquery实现百叶窗效果
Jan 12 Javascript
Vue-Router实现组件间跳转的三种方法
Nov 07 Javascript
Webpack优化配置缩小文件搜索范围
Dec 25 Javascript
JavaScript复制内容到剪贴板的两种常用方法
Feb 27 Javascript
微信小程序仿RadioGroup改变样式的处理方案
Jul 13 Javascript
vue1.0和vue2.0的watch监听事件写法详解
Sep 11 Javascript
解决Vue动态加载本地图片问题
Oct 09 Javascript
关于JS中的作用域中的问题思考分享
Apr 06 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
菜鸟学PHP之Smarty入门
2007/01/04 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
如何根据业务封装自己的功能组件
2019/04/19 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
python实现爬虫下载漫画示例
2014/02/16 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
python返回数组的索引实例
2019/11/28 Python
Python偏函数实现原理及应用
2020/11/20 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
新闻记者个人求职的自我评价
2013/11/28 职场文书
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
婚礼司仪主持词
2014/03/14 职场文书
被告代理词范文
2015/05/25 职场文书
费城故事观后感
2015/06/10 职场文书
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS