uniapp实现红包动画效果(vue3)
效果演示
![](/assets/blank.gif)
首先安装CSS动画库animate.css依赖
yarn add animate.css
打开main.ts文件引入
import 'animate.css'
这两张图片放入static文件夹下
![](/assets/blank.gif)
用到的图片red1.png
![](/assets/blank.gif)
用到的图片red2.png
红包整体主要分三部分 红包头部 中部 底部
<template><view><button @tap="red = true">显示红包</button></view><!-- 红包特效遮罩层 --><view v-show="red" class="cover"><!-- 红包整体 --><view class="redBig animate__animated animate__bounceIn" :key="redIndex"><!-- 头部 --><view :animation="redHead" class="redBigHead"><image @tap="redHeadAnimation" class="" src="/static/red1.png" mode=""></image></view><!-- 中间 --><view :animation="redMid" class="redBigMid"><view class="text1">恭喜您获得了</view><view class="text2">100.00</view><view class="text3">红包余额可去钱包查询</view></view><!-- 底部 --><view class="redBigBottom"><!-- 打开红包后展示 --><view @tap="redBagAnimationRenew" v-show="redBottom" class="button animate__animated animate__bounceIn">开心收下</view></view></view></view>
</template>
使用uni.createAnimation()创建动画实例并进行相关操作具体查看官方文档
<script setup lang="ts">import {ref,getCurrentInstance} from 'vue'import {onShow} from '@dcloudio/uni-app'const {proxy} = getCurrentInstance() as any//红包动画let red = ref(false) //红包显示 let redIndex = ref(0) //红包组件刷新onShow(() => {let animation = uni.createAnimation()proxy.animation = animation})//头部动画let redHead = ref({})function redHeadAnimation() {proxy.animation.translateY(-300).opacity(0).step({duration: 500,timingFunction: 'ease-in-out',})redHead.value = proxy.animation.export()redBottom.value = truesetTimeout(() => {redMidAnimation()}, 300)}//中部动画let redMid = ref({})function redMidAnimation() {proxy.animation.translateY(-120).opacity(1).step({duration: 500,timingFunction: 'ease-in-out',})redMid.value = proxy.animation.export()}//红包底部按钮显示let redBottom = ref(false)//重置红包function redBagAnimationRenew() {red.value = falseredBottom.value = falseredHead.value = {}redMid.value = {}redIndex.value++}
</script>
除了红包底部 头部和中部需要定位
<style lang="scss">.cover {position: fixed;left: 0;top: 0;bottom: 0;right: 0;background: rgba(000, 000, 000, 0.5);display: flex;align-items: center;justify-content: center;}.redBig {position: relative;display: flex;flex-direction: column;align-items: center;}.redBigHead {position: absolute;z-index: 2;image {width: 550rpx;height: 440rpx;}}.redBigMid {width: 508rpx;height: 350rpx;background-color: #fff;border-radius: 24rpx;display: flex;flex-direction: column;align-items: center;color: #FF4545;position: absolute;z-index: 0;margin-top: 260rpx;opacity: 0;.text1 {margin-top: 20rpx;font-size: 32rpx;}.text2 {margin-top: 30rpx;font-size: 70rpx;}.text3 {margin-top: 30rpx;}}.redBigBottom {width: 550rpx;height: 331rpx;background-image: url('../../static/red2.png');background-size: 100% 100%;margin-top: 280rpx;z-index: 1;.button {background: linear-gradient(to bottom, #FEE3AD 50%, #FEB05C);color: #BC0D0D;margin-left: 84rpx;margin-right: 84rpx;padding-top: 30rpx;padding-bottom: 30rpx;border-radius: 100rpx;text-align: center;margin-top: 150rpx;}}
</style>
uniapp实现红包动画效果(vue3)相关推荐
- html微信拆红包动画特效,实例详解用React加CSS3实现微信拆红包动画效果
本文主要介绍了用React加CSS3实现微信拆红包动画效果,微信红包曾经引爆过一系列的营销热潮,相信大家对于这种红包形式并不陌生,这里本着娱乐至上的精神用React简单地实现了拆红包的动画效果,希望能 ...
- html仿微信拆红包效果旋转,利用React加CSS3实现微信拆红包动画效果实例(代码)...
本篇文章主要介绍了利用React加CSS3实现微信拆红包动画效果实例(代码),具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 微信红包曾经引爆过一系列的营销热潮,相信大家对于这种红包形式并不陌生, ...
- android仿微信红包动画,Android仿打开微信红包动画效果实现代码
首先看下效果: 实现原理: 准备3张不同角度的图片,通过AnimationDrawable帧动画进行播放即可 代码实现: 1.编写动画xml文件: 根标签为animation-list,其中onesh ...
- uniapp抽奖组件-动画效果之各类抽奖(跳跃)
欢迎使用ay-lottery插件 最近对抽奖感兴趣,整理插件代码如下: 1.ay-lottery插件 可去uniapp插件市场的动画效果之各类抽奖(跳跃)页面下载. 前言 简介: 1.抽奖效果组件: ...
- 拆红包动态效果html5,用React加CSS3实现微信拆红包动画效果
微信红包曾经引爆过一系列的营销热潮,相信大家对于这种红包形式并不陌生,这里本着娱乐至上的精神用React简单地实现了拆红包的动画效果,供大家一起交流学习 用CSS3绘制红包 .redpack { he ...
- 微信小程序 - 【完整源码】实现微信拆红包动画效果,仿微信红包打开时的旋转分离动画功能示例(详细示例源码及注释,一键复制开箱即用)!
效果图 在微信小程序开发中,实现类似微信抢红包打开动画效果,真实运行丝滑流畅,详细示例源码及注释! 你可以一键复制并运行(无任何第三方依赖),保证可用且直接可以应用到你的项目中去. 示例源码 < ...
- uni-app中自定义图表(canvas实现chart图表)开发篇(5)-圆环进度条添加动画效果
这里增加一篇介绍下进度条动画效果如何添加,前几篇的进度值被修改后,切换效果比较生硬.另外也在第四篇基础上,对图形略作修改.在查看uniapp文档时,没有发现重绘执行函数,小程序中有Canvas.req ...
- 【Vue项目实战】Vue3动画神操作!教你如何实现PPT一样的动画效果!
文章目录 前言 一.Animate.css是什么? 二.安装和使用 1.安装 2.基本用法 3.JavaScript用法 三.动画制作 1.弹入动画 总结 前言 最近写界面的时候,发现一个前端组件很好 ...
- android 开红包动画,Android实现红包雨动画效果
本文介绍了Android实现红包雨动画效果,分享给大家,希望对大家有帮助 红包雨 关于实现上面红包雨效果步骤如下: 1.创建一个红包实体类 public class RedPacket { publi ...
最新文章
- Linux+Apache2+openssl实现https验证
- 向上转型--Upcasting
- 高通android开发摘要
- [译] 第五天: GruntJS - 为你解决繁琐重复的任务
- 使用java操作ranger,hdfs ranger授权操作,hive ranger授权操作
- centos配置occi环境变量_拓展学习-golang的下载、安装和环境配置教程
- oracle 清理跟踪文件trc,trm
- 学号20145332 《信息安全系统设计基础》实验四 驱动程序设计
- php总是报错,php - 简单工厂模式中的问题,总是报错
- CF1253E Antenna Coverage
- crash recovery mysql_MySQL · 源码分析 · binlog crash recovery
- iOS 关于布局问题的一些认识
- 关于GetTickCount函数的用法
- tftp服务器怎么开启linux,启动Linux下的TFTP服务器
- ClickHouse第四讲-表引擎
- 云计算与虚拟化技术发展编年史
- Programming Rust Fast, Safe Systems Development(译) 错误处理(第七章)
- 鸿蒙 华为watch gt3手表hello world
- 闪存芯片NAND FLASH的封装
- 【智能工厂】智能工厂建设如何少走弯路?
热门文章
- 网络安全笔记——第二天:简单了解操作系统
- 微信小程序获取用户信息nickname为“微信用户”
- 手把手教你移植FreeModbus到STM32【看评论区引导,领取全套资料包】
- matlab中sumf,sum函数(sum公式使用方法)
- 2020哔哩哔哩bilibili安全挑战赛前5题思路
- Springboot-权限管理
- 微信小程序开发工具中如何创建与pages目录同级的目录
- JavaScript获取元素样式
- 一个类打地鼠的canvas小游戏
- 使用Math.max和Math.min方法实现三个数中取中位数