weex animation模块 使用指南
本节学习目标
掌握内置组件animation的使用
我们在开发应用的时候,常常需要增加一些动画效果,来提高用户体验,经常用到的一些动画效果如下
- 平移
- 旋转
- 缩放
- 背景颜色改变
- 组件透明图
weex 提供了一animition模块,通过这个模块的一个api可以实现上述的动画效果
API:transition(el, options, callback)
参数说明
1.el 执行动画组件的引用(ref="el"),通过this.$refs.el获取组件的引用
2.options 是一个对象,通常由四部分组成,styles 设置不同样式过渡效果的键值对,值也是一个对象
duration:动画持续时间
delay:动画延时执行时间
timingFunction:过渡效果
3.callback动画执行完的回调
下面是一个使用例子
animation.transition(el,{
styles:{
transform: 'translate(250px, 100px)',
transformOrigin: 'center center'
},duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},res=>{})
下面讲解一下四个键值对的使用
- styles
它可以设置的键为
| 键 | 描述 | 值 | 默认值 |
|---|---|---|---|
| width | 动画执行后应用到组件上的宽度值 | int(如100)不使用单位 | 无 |
| height | 动画执行后应用到组件上的高度值 | int(如100)不使用单位 | 无 |
| backgroundColor | 动画执行后应用到组件上的背景颜色 | string | none |
| opacity | 动画执行后应用到组件上的不透明度值 | 介于 0 到 1 间的数值 | 1 |
| transformOrigin | 定义变化过程的中心点. 参数 x-aris 可能的值为 left、center、right、长度值或百分比值, 参数 y-axis 可能的值为 top、center、bottom、长度值或百分比值 | x-axis y-axis | center center |
| transform | 定义应用在元素上的变换类型,支持下表列出的属性 | object | 无 |
注意
transformOrigin 这个值会影响动画的效果 如果你设置值为 “left top” 那么当旋转的时候,就不会是沿着中心点旋转,而是沿着左上角旋转
下面我们重点说一下transform 的使用
| 名称 | 描述 | 值类型 | 默认值 |
|---|---|---|---|
| translate/translateX/translateY | 指定元素移动的偏移量 | 像素值或百分比 | 无 |
| rotate | 指定元素将被旋转的角度,单位是度(deg) | number | 无 |
| scale/scaleX/scaleY | 按比例放大或缩小元素 | number | 无 |
下面是一些使用案例
transform:"translate(100,200)"// 沿x轴移动100px,y移动200px transform:'translate(50%, 100)' // 沿x轴移动自身宽度的50%,沿y轴移动100px transform: 'rotate(180deg)' // 注意一定要加上单位deg
duration
动画持续时间,单位是毫秒ms 单位可以不用写duration: 800//800ms
timingFunction
过渡效果有五种,最常用的是前四种linear 匀速的过渡
ease-in 由慢到快的加速过渡
ease-out 由块到慢的减速过渡
ease-in-out 先加速后减速的过渡效果
cubic-bezier(x1, y1, x2, y2),三次贝塞尔函数中定义变化过程 取值范围0-1
先说步骤
- Step1.
<script>里引入的内置模块(animation)
const animation = weex.requireModule('animation')
- Step2.获取组件的引用
var el = this.$refs.test;
如何给组件设置引用
<text class="rectangle" ref="test">字</text>
- Step3.执行动画
animation.transition(el,{
styles:{
transform: 'rotate(3.14)',
transformOrigin: 'center center'
},duration: 800, //ms
timingFunction: 'ease',
delay: 0 //ms
},res=>{})
本节的内容到这里就讲完了,请动手实战一下吧!
weex animation模块 使用指南的更多相关文章
- Weex入门与进阶指南
Weex入门与进阶指南 标签: WeexiOSNative 2016-07-08 18:22 59586人阅读 评论(8) 收藏 举报 本文章已收录于: iOS知识库 分类: iOS(87) 职 ...
- 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)
原文:基于Asterisk的VoIP开发指南--Asterisk 模块编写指南(1) 1 开源项目概述 Asterisk是一个开源的软件包,通常运行在Linux操作系统平台上.Asterisk可以用三 ...
- 基于Neptune开发板的键盘蓝牙模块DIY指南
目录: 1.下载开发板程序2.安装USB串口(CH340)驱动3.安装烧写工具4.烧写开发板程序 本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用 ...
- jQuery1.9.1源码分析--Animation模块
var fxNow, // 使用一个ID来执行动画setInterval timerId, rfxtypes = /^(?:toggle|show|hide)$/, // eg: +=30.5px / ...
- yii2 modules模块配置指南
在Yii2 中模块是可以无限级嵌套的,也就是说,模块可以包含另一个包含模块的模块,我们称前者为父模块,后者为子模块, 子模块必须在父模块的yiibaseModule::modules属性中申明,例如: ...
- Apache模块开发指南-APR池
转:原文: http://blog.csdn.net/zmxiangde_88/article/details/8038150 ------------------------------------ ...
- 可能是最详细的UMD模块入门指南
学习UMD 介绍 这个仓库记录了一些关于javascript UMD模块规范的demo,对我学习UMD规范有了很大帮助,希望也能帮助到你. 回顾 之前也写了几篇关于javascript模块的博客,链接 ...
- [SheetJS] js-xlsx模块学习指南
简介 SheetJS是前端操作Excel以及类似的二维表的最佳选择之一,而js-xlsx是它的社区版本. js-xlsx将注意力集中到了数据转换和导出上,所以它支持相当多种类的数据解析和导出.不仅仅局 ...
- animation模块的使用
1.动画的实现-初探 import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncA ...
随机推荐
- 朴素贝叶斯文本分类-在《红楼梦》作者鉴别的应用上(python实现)
朴素贝叶斯算法简单.高效.接下来我们来介绍其如何应用在<红楼梦>作者的鉴别上. 第一步,当然是先得有文本数据,我在网上随便下载了一个txt(当时急着交初稿...).分类肯定是要一个回合一个 ...
- vue中getters不更新数据解决办法
在 Vue.js devtools 中看到,我们明明更改了仓库 state 中的数据,但是我们的 getters 就是值渲染一次之后就不再重新渲染了 解决方法:使用 Vue.set() 方法,就是专门 ...
- RequestsLibrary接口测试
RequestsLibrary常用的关键字 关 键 字 描 述 Create Session 创建HTTP会话 Get Request 采用get方式请求 Post Request 采用Pos ...
- 5.Hiveguigun滚(ノ`Д)ノ竟然竞争谨慎谨慎谨慎哈喇子罢工八公
1.Hive简介 2.Hive部署与安装 3.Hive的使用 4.Hive JDBC编程
- 三、SpringBoot启动时JDBC报错:You must configure either the server or JDBC driver (via the serverTimezone configuration property)
错误提示: Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connectio ...
- LC 425. Word Squares 【lock,hard】
Given a set of words (without duplicates), find all word squares you can build from them. A sequence ...
- 学习前端第一天心得体会(初步了解HTML5的新特性以及和HTML的区别)
一.HTML5是什么? HTML5 是最新的 HTML 标准. HTML5 是专门为承载丰富的 web 内容而设计的,并且无需额外插件. HTML5 拥有新的语义.图形以及多媒体元素. HTML5 提 ...
- linux 基础 ls cd 目录含义
- Debian系统设置terminal快捷键
我安装的是debian gnome桌面版.安装完成之后,没有快捷键可以方便的打开terminal,需要自己设置这个快捷键 方法是: 桌面上点击右键==>设置==>键盘 ==>快捷键= ...
- JavaScript(1):Base/Tips
目录 输出 全局变量 字符串 类型及转换 变量提升 严格模式 表单验证 (1) 输出 <!DOCTYPE html> <html> <body> <p> ...