效果演示

首先安装CSS动画库animate.css依赖

yarn add animate.css

打开main.ts文件引入

import 'animate.css'

这两张图片放入static文件夹下

用到的图片red1.png

用到的图片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)相关推荐

  1. html微信拆红包动画特效,实例详解用React加CSS3实现微信拆红包动画效果

    本文主要介绍了用React加CSS3实现微信拆红包动画效果,微信红包曾经引爆过一系列的营销热潮,相信大家对于这种红包形式并不陌生,这里本着娱乐至上的精神用React简单地实现了拆红包的动画效果,希望能 ...

  2. html仿微信拆红包效果旋转,利用React加CSS3实现微信拆红包动画效果实例(代码)...

    本篇文章主要介绍了利用React加CSS3实现微信拆红包动画效果实例(代码),具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 微信红包曾经引爆过一系列的营销热潮,相信大家对于这种红包形式并不陌生, ...

  3. android仿微信红包动画,Android仿打开微信红包动画效果实现代码

    首先看下效果: 实现原理: 准备3张不同角度的图片,通过AnimationDrawable帧动画进行播放即可 代码实现: 1.编写动画xml文件: 根标签为animation-list,其中onesh ...

  4. uniapp抽奖组件-动画效果之各类抽奖(跳跃)

    欢迎使用ay-lottery插件 最近对抽奖感兴趣,整理插件代码如下: 1.ay-lottery插件 可去uniapp插件市场的动画效果之各类抽奖(跳跃)页面下载. 前言 简介: 1.抽奖效果组件: ...

  5. 拆红包动态效果html5,用React加CSS3实现微信拆红包动画效果

    微信红包曾经引爆过一系列的营销热潮,相信大家对于这种红包形式并不陌生,这里本着娱乐至上的精神用React简单地实现了拆红包的动画效果,供大家一起交流学习 用CSS3绘制红包 .redpack { he ...

  6. 微信小程序 - 【完整源码】实现微信拆红包动画效果,仿微信红包打开时的旋转分离动画功能示例(详细示例源码及注释,一键复制开箱即用)!

    效果图 在微信小程序开发中,实现类似微信抢红包打开动画效果,真实运行丝滑流畅,详细示例源码及注释! 你可以一键复制并运行(无任何第三方依赖),保证可用且直接可以应用到你的项目中去. 示例源码 < ...

  7. uni-app中自定义图表(canvas实现chart图表)开发篇(5)-圆环进度条添加动画效果

    这里增加一篇介绍下进度条动画效果如何添加,前几篇的进度值被修改后,切换效果比较生硬.另外也在第四篇基础上,对图形略作修改.在查看uniapp文档时,没有发现重绘执行函数,小程序中有Canvas.req ...

  8. 【Vue项目实战】Vue3动画神操作!教你如何实现PPT一样的动画效果!

    文章目录 前言 一.Animate.css是什么? 二.安装和使用 1.安装 2.基本用法 3.JavaScript用法 三.动画制作 1.弹入动画 总结 前言 最近写界面的时候,发现一个前端组件很好 ...

  9. android 开红包动画,Android实现红包雨动画效果

    本文介绍了Android实现红包雨动画效果,分享给大家,希望对大家有帮助 红包雨 关于实现上面红包雨效果步骤如下: 1.创建一个红包实体类 public class RedPacket { publi ...

最新文章

  1. Linux+Apache2+openssl实现https验证
  2. 向上转型--Upcasting
  3. 高通android开发摘要
  4. [译] 第五天: GruntJS - 为你解决繁琐重复的任务
  5. 使用java操作ranger,hdfs ranger授权操作,hive ranger授权操作
  6. centos配置occi环境变量_拓展学习-golang的下载、安装和环境配置教程
  7. oracle 清理跟踪文件trc,trm
  8. 学号20145332 《信息安全系统设计基础》实验四 驱动程序设计
  9. php总是报错,php - 简单工厂模式中的问题,总是报错
  10. CF1253E Antenna Coverage
  11. crash recovery mysql_MySQL · 源码分析 · binlog crash recovery
  12. iOS 关于布局问题的一些认识
  13. 关于GetTickCount函数的用法
  14. tftp服务器怎么开启linux,启动Linux下的TFTP服务器
  15. ClickHouse第四讲-表引擎
  16. 云计算与虚拟化技术发展编年史
  17. Programming Rust Fast, Safe Systems Development(译) 错误处理(第七章)
  18. 鸿蒙 华为watch gt3手表hello world
  19. 闪存芯片NAND FLASH的封装
  20. 【智能工厂】智能工厂建设如何少走弯路?

热门文章

  1. 网络安全笔记——第二天:简单了解操作系统
  2. 微信小程序获取用户信息nickname为“微信用户”
  3. 手把手教你移植FreeModbus到STM32【看评论区引导,领取全套资料包】
  4. matlab中sumf,sum函数(sum公式使用方法)
  5. 2020哔哩哔哩bilibili安全挑战赛前5题思路
  6. Springboot-权限管理
  7. 微信小程序开发工具中如何创建与pages目录同级的目录
  8. JavaScript获取元素样式
  9. 一个类打地鼠的canvas小游戏
  10. 使用Math.max和Math.min方法实现三个数中取中位数