更新记录

v0.1.0(2025-12-23) 下载此版本

首次上传


平台兼容性

uni-app(3.6.15)

Vue2 Vue3 Vue3插件版本 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- √ v0.1.0 √ - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uniapp-lantern-release

一个基于 UniApp 的 放花灯 组件,适用于 H5,其他平台暂未测试。组件通过 requestAnimationFrame 实现花灯从底部向上飘动,并叠加左右摇摆动画,适合节日、活动氛围展示。

预览

安装使用

  1. 下载项目并引入组件
  2. 在页面中引入 lantern-release 组件
  3. 按需修改样式和配置参数
  4. 通过 ref 调用动画控制方法

示例代码

<template>
  <button @click="handleAddLight">放花灯</button>

  <LanternRelease imageUrl="/static/lantern-release/lantern.png" :speed="3" :swing="20" :width="'200px'"
    :height="'220px'" :startPosition="-220" ref="lanternRef" />
</template>

<script setup>
import { ref } from "vue";
import LanternRelease from "../../components/lantern-release/lantern-release.vue";

const lanternRef = ref();

function handleAddLight() {
  lanternRef.value?.startAnimation();
}
</script>

<style scoped></style>

API

参数

参数名 类型 默认值 说明
imageUrl string "" 花灯图片地址
speed number 5 上升速度(数值越大越快,基于 60fps 计算)
swingAmplitude number 10 摆动角度幅度(单位:deg)
swingSpeed number 500 摆动周期速度(值越小,摆动越快)
startPosition number -100 初始底部位置(px,负值表示屏幕外),需要大于花灯图片高度
endPosition number \| "screen-top" "screen-top" 终止位置,screen-top 表示完全离开屏幕
width string "80px" 花灯宽度
height string "100px" 花灯高度
horizontalPosition string \| "center" "center" 水平位置,如 "20%"、"100px"
autoStart boolean false 是否在组件挂载后自动开始动画
delay number 0 启动延迟时间(毫秒)

事件

事件名 说明
animationStart 动画开始时触发
animationEnd 花灯到达终点位置时触发
animationReset 调用重置方法时触发

实例方法

通过 ref 可调用以下方法控制花灯动画

方法名 参数 返回值 说明
startAnimation — void 启动动画,重置位置并开始向上飘动
stopAnimation — void 立即停止动画,保持当前花灯位置
resetAnimation — void 重置花灯到初始位置,不播放动画
restartAnimation — void 重置并重新启动动画

许可协议

MIT License,请查看项目根目录下的 LICENSE 文件。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

许可协议

MIT协议

暂无用户评论。