今天分享一个uni-app实现点赞+1的动画,效果如图:

直接把代码分享出来,我在代码中比较容易解释清楚

<template><view class="page"><view class="single-course" v-for="(item,index) in courseList" :key="item.id" ><view class="course-desc">{{item.name}}</view><view class="course-oper" @click="praiseMe(item.id)"><image src="../../static/icos/praise.png" class="praise-ico" ></image><view class="praise-me" >赞一下</view><!-- 创建一个动画实例 animation。调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性 --><view :animation="animationData[item.id]" class="praise-me animation-opacity" >+1</view></view></view></view>
</template><script>export default {data() {return {courseList: [{id: 101,name: 'vue入门到精通'},{id: 102,name: 'React入门到入土'},{id: 103,name: 'Java基础'},{id: 105,name: '数据结构与算法'},{id: 106,name: '单片机应用'},{id: 107,name: 'STM32库函数开发'},{id: 108,name: '人工智能威胁论'},{id: 109,name: '小学一年级数学上册'}],animationData: {}, //动画实例初始化}},onLoad() {//页面加载时创建一个动画this.animation = uni.createAnimation();},methods: {//点赞praiseMe(id){//点击时,描绘动画的运动过程this.animation.translateY(-80).opacity(1).step({duration: 500});this.animationData = {};  //必须要清空,如果没有清空,引用是一样的,页面就不会重新渲染,导致动画无法显示。vue的特性this.animationData[id] = this.animation.export();  //导出动画,对应的键是当前数据的IDsetTimeout(()=>{  //时间到后,动画恢复原点this.animation.translateY(0).opacity(0).step({duration: 0})this.animationData = {};this.animationData[id] = this.animation.export();},500);},}}
</script><style>.single-course {display: flex;
}
.course-desc {line-height: 140upx;padding-left: 50upx;width: 440upx;
}
/* 点赞 */
.course-oper {width: 140upx;display: flex;flex-direction: column;justify-content: center;border-left: #dbdbda dashed 2px;
}
.praise-ico{width: 40upx;height: 40upx;align-self: center;
}
.praise-me {font-size: 14px;color: #feab2a;align-self: center;
}
.animation-opacity{font-weight: bold;color: #feab2a;opacity: 0;   /* 备注: 默认透明度为 0,不显示 */
}
</style>

uni-app动画渲染相关推荐

  1. 切换 uniapp_万能前端框架uni app初探03:底部导航开发

    前言 本节我们使用uni app的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的. 一.基础知识 1.tabBar 如果应用是一个多 tab 应用,可以通过 tabB ...

  2. uni app map 地图 漂浮问题及方案

    uni app map 地图 漂浮问题及方案 文章页有图片导致的问题,图片没加载出来,导致文章内容高度不固定,如果图片没加载出来,高度就是0,如果此时开始加载map,那么map就在那里加载,map原生 ...

  3. iOS之深入探究动画渲染降帧

    一.为什么要对动画降帧? 众所周知,刷新频率越高体验越好,对于 iOS app 的刷新频率应该是越接近越 60fps 越好,主动给动画降帧,肯定会影响动画的体验.但是另一方面,我们也知道动画渲染的过程 ...

  4. iOS 视图,动画渲染机制探究

    腾讯Bugly特约作者:陈向文 终端的开发,首当其冲的就是视图.动画的渲染,切换等等.用户使用 App 时最直接的体验就是这个界面好不好看,动画炫不炫,滑动流不流畅.UI就是 App 的门面,它的体验 ...

  5. Android动画渲染过程及原理(matrix),matrix动画,动画优化

    -- 矩阵(Matrix), Matrix动画 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵.在物理学中,矩阵于电路学.力学.光学和量子物理中都 ...

  6. uni app实现WIFI功能(只支持安卓APP)

    uni app实现WIFI功能 一.前言 二.使用 uni-WIFI 三.使用h5+ api 一.前言 最近需要在uniapp上实现WiFi功能,将个人的研究结果记录如下(都只支持安卓APP) 使用 ...

  7. 炫云云渲染3ds max动画渲染使用教程

    一.炫云官网注册账号 二.在炫云官网下载客户端登录 1.安装需要的max插件 炫云云渲染3ds max动画渲染使用教程 三.打开场景提交 1.打开max场景并设置好参数.设置好输出路径,点击炫云,如图 ...

  8. C4D学习笔记3-动画-动画渲染流程案例

    学习教程: https://huke88.com/course/8787.html 动画渲染设置保存 1.工业模型渲染后带灯光的,直接加一个物理天空 2.工程设置 模式-工程,修改帧率为30 3.修改 ...

  9. DirectX12(D3D12)基础教程(十七)——让小姐姐翩翩起舞(3D骨骼动画渲染【1】)

    目录 1.前言 2.本章代码简要说明 1.前言   经过了一系列比较枯燥的命令行式的"外篇"系列教程后,这一篇起回归主干,继续我们的D3D12之旅,本章就利用已经学习的assimp ...

  10. 自定义动画渲染器 Interceptor

    android 有 系统的动画渲染器,  当然也可以实现自定义的动画渲染器. 要实现动画渲染器, 需要实现 android.vidw.animation.Interpolator 接口,这里以实现一个 ...

最新文章

  1. 零基础学python用哪本书好看-6个Python超酷技巧,原来还能这样用!初学必看
  2. 掌握这 25 条小贴士,快速提升数据可视化能力!
  3. letsencrypt 免费https安装过程linux centos
  4. 单片机 串口 波特率 c语言 9600 11.0592mhz t1,C51语言编程:单片机与 PC 串口通信程序...
  5. Oracle从零开始2——简单查询
  6. 使用C# 未解决的问题(VS2012)
  7. IDP:云原生的“Jupyter”,让算法团队更高产
  8. asp php 一句话,ASP_asp一句话木马原理分析,通过HTTP协议来访问 一句话木 - phpStudy...
  9. 宽带光纤接入网的概念和典型应用类型
  10. 小猿日记(9) - 今天,我又拒绝了阿里的一次机会
  11. 计量模型 | 前定变量#时间FE
  12. arduino IED2.0实现Serial.println打印结果
  13. 文件或目录损坏且无法读取的解决办法
  14. 计算机应用无法打开,为什么电脑界面的部分软件无法打开
  15. 疯狂星期四,抢980元超值美食卡,尊享超级特价!
  16. SpringCloud面试题(一)
  17. 力扣(707.面试题02.07)补9.16
  18. TCP与UDP的区别?
  19. html模板留言板mysql_Php+mysql+html简单留言板制作
  20. MITRE ATTCK框架

热门文章

  1. 计算机视觉笔记及资料整理(含图像分割、目标检测小方向学习)
  2. 基于SSM的校园医务室系统
  3. 汉语属于哪个语系_汉语,日语,韩语分别属于什么语系?
  4. Hadoop分布式集群的安装与部署实训总结报告
  5. 十大流行健美营养补剂
  6. 乐高机器人 搭建钟摆_乐高创意百变31088拼搭指北:深海生物大鲨鱼,拼成3变变形金刚...
  7. Velodyne激光雷达使用教程
  8. 岁月无痕人有迹,时光无影人有踪
  9. 2021 年 Kubernetes 的开发者工具:Helm、Kustomize 和 Skaffold
  10. html5怎么修改图片大小,HTML5 javascript修改canvas的大小