本节学习目标

掌握内置组件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模块 使用指南的更多相关文章

  1. Weex入门与进阶指南

    Weex入门与进阶指南 标签: WeexiOSNative 2016-07-08 18:22 59586人阅读 评论(8) 收藏 举报 本文章已收录于:  iOS知识库  分类: iOS(87)  职 ...

  2. 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)

    原文:基于Asterisk的VoIP开发指南--Asterisk 模块编写指南(1) 1 开源项目概述 Asterisk是一个开源的软件包,通常运行在Linux操作系统平台上.Asterisk可以用三 ...

  3. 基于Neptune开发板的键盘蓝牙模块DIY指南

    目录: 1.下载开发板程序2.安装USB串口(CH340)驱动3.安装烧写工具4.烧写开发板程序 本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用 ...

  4. jQuery1.9.1源码分析--Animation模块

    var fxNow, // 使用一个ID来执行动画setInterval timerId, rfxtypes = /^(?:toggle|show|hide)$/, // eg: +=30.5px / ...

  5. yii2 modules模块配置指南

    在Yii2 中模块是可以无限级嵌套的,也就是说,模块可以包含另一个包含模块的模块,我们称前者为父模块,后者为子模块, 子模块必须在父模块的yiibaseModule::modules属性中申明,例如: ...

  6. Apache模块开发指南-APR池

    转:原文: http://blog.csdn.net/zmxiangde_88/article/details/8038150 ------------------------------------ ...

  7. 可能是最详细的UMD模块入门指南

    学习UMD 介绍 这个仓库记录了一些关于javascript UMD模块规范的demo,对我学习UMD规范有了很大帮助,希望也能帮助到你. 回顾 之前也写了几篇关于javascript模块的博客,链接 ...

  8. [SheetJS] js-xlsx模块学习指南

    简介 SheetJS是前端操作Excel以及类似的二维表的最佳选择之一,而js-xlsx是它的社区版本. js-xlsx将注意力集中到了数据转换和导出上,所以它支持相当多种类的数据解析和导出.不仅仅局 ...

  9. animation模块的使用

    1.动画的实现-初探 import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncA ...

随机推荐

  1. 朴素贝叶斯文本分类-在《红楼梦》作者鉴别的应用上(python实现)

    朴素贝叶斯算法简单.高效.接下来我们来介绍其如何应用在<红楼梦>作者的鉴别上. 第一步,当然是先得有文本数据,我在网上随便下载了一个txt(当时急着交初稿...).分类肯定是要一个回合一个 ...

  2. vue中getters不更新数据解决办法

    在 Vue.js devtools 中看到,我们明明更改了仓库 state 中的数据,但是我们的 getters 就是值渲染一次之后就不再重新渲染了 解决方法:使用 Vue.set() 方法,就是专门 ...

  3. RequestsLibrary接口测试

    RequestsLibrary常用的关键字 关  键  字 描   述 Create Session 创建HTTP会话 Get Request 采用get方式请求 Post Request 采用Pos ...

  4. 5.Hiveguigun滚(ノ`Д)ノ竟然竞争谨慎谨慎谨慎哈喇子罢工八公

    1.Hive简介 2.Hive部署与安装 3.Hive的使用 4.Hive JDBC编程

  5. 三、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 ...

  6. LC 425. Word Squares 【lock,hard】

    Given a set of words (without duplicates), find all word squares you can build from them. A sequence ...

  7. 学习前端第一天心得体会(初步了解HTML5的新特性以及和HTML的区别)

    一.HTML5是什么? HTML5 是最新的 HTML 标准. HTML5 是专门为承载丰富的 web 内容而设计的,并且无需额外插件. HTML5 拥有新的语义.图形以及多媒体元素. HTML5 提 ...

  8. linux 基础 ls cd 目录含义

  9. Debian系统设置terminal快捷键

    我安装的是debian gnome桌面版.安装完成之后,没有快捷键可以方便的打开terminal,需要自己设置这个快捷键 方法是: 桌面上点击右键==>设置==>键盘 ==>快捷键= ...

  10. JavaScript(1):Base/Tips

    目录 输出 全局变量 字符串 类型及转换 变量提升 严格模式 表单验证 (1) 输出 <!DOCTYPE html> <html> <body> <p> ...