首页 > 编程语言 >小程序animation使用

小程序animation使用

时间:2024-04-21 22:13:24浏览次数:21  
标签:动画 变换 ease 50% 程序 transformOrigin animation 使用


想实现一个item左滑展示编辑和删除按钮的功能,涉及到元素移动,因此使用animation属性来实现

了解animation

下面这段代码设置了一个动画的各种属性(持续1000ms ; 匀速到加速再减速; 立即开始执行;元素变换基点,此处是平移,不起作用),然后设置动画效果向左平移100元素,最后,调用 export() 方法导出动画数据,并将其赋值给 animation 属性,从而触发视图的更新

html

<view class="box" animation="{{animationData}}">动画效果</view>
css

Page({ data: { animationData: {} }, onl oad: function() { // 创建一个动画实例 let animation = wx.createAnimation({ duration: 1000, // 动画持续时间 timingFunction: 'ease', // 动画效果,可选值有:linear、ease、ease-in、ease-in-out、ease-out、step-start、step-end delay: 0, // 延迟多长时间后开始动画 transformOrigin: '50% 50% 0' // 动画原点,用于指定动画相对于哪个点进行变换,默认值为"50% 50% 0" }); // 设置动画效果 animation.translate(-100).step(); // 更新数据,触发视图更新 this.setData({ animationData: animation.export() }); } });

 

动画各属性详解

duration:动画执行完所有操作的需要的时间,毫秒

timingFunction 属性用于指定动画的时间曲线,决定了动画在播放过程中的变化速度。常见的取值包括:

  1. linear(线性):动画效果匀速进行,没有加速度或减速度,动画变化率保持恒定。

  2. ease(匀速到加速再减速):动画从匀速开始,然后逐渐加速,最后减速停止。这是一个常用的默认值,也是很多动画库的默认效果。

  3. ease-in(加速):动画从开始时较慢,然后逐渐加速到结束。在开始时速度较慢,逐渐加快。

  4. ease-out(减速):动画从开始时较快,然后逐渐减速直至结束。在结束时速度较慢,逐渐减慢。

  5. ease-in-out(加速再减速):动画从开始时较慢,然后逐渐加速,到达中间时速度最快,然后逐渐减速直至结束。

  6. step-start(分步开始):动画在每一帧都会直接跳跃到结束位置,但在两个关键帧之间没有动画效果。

  7. step-end(分步结束):动画在每一帧都会直接跳跃到开始位置,但在两个关键帧之间没有动画效果。

delay:多长时间后开始动画效果,毫秒

 transformOrigin :指定一个元素变换的基点,即指定变换的原点。它影响了 CSS 变换函数如 rotate()、scale()、skew()、translate() 等的行为。

                           这个属性通常与 CSS 的 transform 属性一起使用。具体来说,transformOrigin 属性有以下几个方面需要注意:

transformOrigin 属性接受三个值,默认值为 50% 50% 0,即元素的中心点。分别对应于 x 轴、y 轴和 z 轴的位置。每个值可以使用长度单位(如 px、em)或百分比来表示。

x、y、z 轴的取值范围:对于 x、y 轴,取值范围是 left、center、right 和 top、center、bottom。对于 z 轴,取值范围是负无穷到正无穷。

影响的变换:transformOrigin 属性会影响应用于元素的所有 CSS 变换函数的基点位置。例如,如果你将一个元素的 transformOrigin 设置为左上角(top left),

                  那么对该元素的旋转、缩放等变换都将以左上角作为基点。

                  与 translate 的关系:注意,transformOrigin 属性不会影响 translate() 函数的行为。translate() 函数是移动元素的位置,它的移动方向不受 transformOrigin 的影响。

动画常见的操作:

  1. translateX():在 X 轴上进行垂直平移(移动)。
  2. translateY():在 Y 轴上进行垂直平移(移动)。

    • 示例:translateX(100px)translateY(-50%)
  3. rotate(): 旋转度数,正值表示顺时针旋转,负值表示逆时针旋转。
    • 示例:rotate(90deg)rotate(-45deg)
  4. scale():缩放元素的大小,可以分别指定水平和垂直方向上的缩放比例。

    • 示例:scale(1.5)scale(2, 0.5)
  5. scaleX() 和 scaleY():分别在 X 轴和 Y 轴上进行缩放变换。
  6. skewX() 和 skewY():分别在 X 轴和 Y 轴上进行倾斜变换。

    • 示例:skewX(45deg)skewY(-30deg)
  7. matrix():使用一个 2D 转换矩阵来实现自定义的变换效果,可以实现复杂的变换操作。
    接受一个 6 个值的矩阵作为参数,用来表示一个自定义的 2D 变换矩阵。矩阵中的值依次表示水平缩放、水平倾斜、垂直倾斜、垂直缩放、水平平移和垂直平移。

    • 示例:matrix(1, 0.5, -0.5, 1, 100, 50)

 

 

 

 

 

 

 

标签:动画,变换,ease,50%,程序,transformOrigin,animation,使用
From: https://www.cnblogs.com/mlllily/p/18149600

相关文章

  • c语言程序设计——实验报告六
    c语言程序设计——实验报告六实验项目名称:实验项目类型:验证性实验日期:一、实验目的熟练掌握三种循环语句并能正确运用;能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;进一步学习程序调试;了解中国算法,百钱买百鸡。二、实验硬、软件环境Windows计算机、Devc6.0......
  • Vscode使用Git图形化工具IDE
    Vscode使用Git图形化工具IDE检查是否成功安装Git环境windows搜索栏输入PowerShell,右键以管理员身份运行输入git敲击回车重新打开Vscode(已安装ssh拓展)打开任意一个工程文件夹打开Git控制栏源代码管理Ctrl+shift+G初始化储存库提交推送选择要推送的仓......
  • 2024年GPLT团体程序设计比赛L2-D吉利矩阵题解
    只能说比赛时前期做得太慢了,后面导致题目只能捞点分数(IOI赛制),当时这道题是我不剪枝DFS拿了4分,压线拿铜牌!考完试一做,发现是个大水题(bushi)主要原理:DFS(深度优先搜索)+剪枝名言:学搜索核心就是学剪枝废话不说了,见代码点击查看代码//原理:DFS+剪枝#include<bi......
  • 答题判题程序
    答题判题程序题目要求设计实现答题程序,模拟一个小型的测试,要求输入题目信息、试卷信息、答题信息、学生信息、删除题目信息,根据输入题目信息中的标准答案判断答题的结果。详见:答题判题程序前言前两次作业较为的输入较为简单,第一次还不支持乱序输入.但第三次作业的难度就......
  • 01_小程序的构建
    1.创建一个小程序 2.重置app.js中的代码App({})3.删除app.json里面的componentFramework,pages/logs/logs目录要删除,pages/logs的文件删除{"pages":["pages/index/index"],"window":{"navigationBarTextStyle":"black......
  • Pytorch 如何使用 storage 实现参数 offload?
    在深入探讨PyTorch中的Storage类以及其在参数offload场景中的应用之前,让我们首先了解一下PyTorch和它的基础组件。PyTorch是一个广泛使用的开源机器学习库,它不仅提供了强大的计算图功能和自动梯度计算,还允许开发者直接操作底层数据结构,这其中就包括Storage。1.什么是......
  • vue v-for中key的作用,使用index作为key会怎么样?
    原理其主要的目的就是优化性能。vue在更新dom时会比较key值相同的元素内容是否发生改变,如果不变则不更新页面,这样可以使得尽可能减少页面的更新,提高性能。假如我渲染3个元素,不设置key值,即默认策略应该是标识为index,即0,1,2。假如我在第一个元素后加一个元素,则实际上原先的bc......
  • Mac 通过 SMB 协议使用 Ubuntu 做时间机器备份盘
    设置SMB服务首先在Ubuntu中配置SMB,可以参考Ubuntu设置SMB服务。创建APFS磁盘映像我们在Ubuntu上创建出的SMB共享文件夹可以用来存放文件,但是不能直接用来存放时间机器备份。因为时间机器是基于APFS文件系统的,而我们的Linux使用的是Ext4文件系统。解决方......
  • Mac 上fiddler与charles 抓包https 小程序请求 内容
    为什么选择charles之前讲过《wireshark使用教程及过滤语法总结——血泪史的汇聚》,很强大,但是很难用。fiddler很好用,之前mac上面没有,现在有了 fiddlereverywhere,但是没有破解版,作为中国新一代农民工——码农,确实没钱买。findermac版本:下载:软件官网下载地址:https://ww......
  • C语言程序设计-实验报告6
    实验项目名称:实验6循环结构程序设计(for语句的应用)实验项目类型:验证性实验日期:2024年4月15日一、实验目的1.熟练掌握三种循环语句并能正确运用;2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;3.进一步学习程序调试;4.了解中国算法,百钱买百鸡。二、实验硬、软件环境......