当前位置: 首页 > news >正文

vue3:el-progress的圆形无线滚动,心跳、呼吸效果,加载中的效果

const dynamicPercentage = ref(0) // 初始值

let animationId = null

// 模拟呼吸/心跳波形

const breatheWave = () => {

const t = Date.now() / 1000

const percent = Math.sin(t * 1) * 35 + 45

dynamicPercentage.value = Math.round(percent)

animationId = requestAnimationFrame(breatheWave)
}

watch(
() => useFile.compressingOrDownloading,

(newValue) => {
if (newValue === 0) {

dynamicPercentage.value = 100
if (animationId) {

cancelAnimationFrame(animationId)
animationId = null

}
} else if (newValue > 0) {

if (!animationId) {
breatheWave()
}

}

},

)

onMounted(() => {

if (useFile.compressingOrDownloading > 0) {

breatheWave()
}
})

onUnmounted(() => {

if (animationId) {
cancelAnimationFrame(animationId)

}

})

http://www.dtcms.com/a/494718.html

相关文章:

  • 高速光耦:电子系统的卓越赋能者
  • 鸿蒙HAP文件数字签名提取与解析
  • 《宋代水墨国漫3D:动态镜头笔触连贯的开发拆解》
  • Fast-Agent:重新定义AI Agent开发的“快“与“简“
  • 做电力的系统集成公司网站个人简历在线制作免费
  • 如何查网站是那家做的用什么做视频网站比较好的
  • SQL UPDATE 语句详解
  • 一个基于BiTCN-BiLSTM混合神经网络的时间序列预测MATLAB程序
  • Python开发的自我修养之数据类型的选择策略
  • Day02_刷题niuke20251017
  • [嵌入式系统-135]:主流AIOT智能体开发板
  • 设计模式---观察者模式
  • 【软考备考】 高并发场景如何做负载均衡知识点四
  • LOFAR物理频谱特征提取及实现
  • excel拼接数据库
  • 23ICPC杭州vp补题
  • 做网站不难吧长兴网站建设
  • Kafka、ActiveMQ、RabbitMQ、RocketMQ 对比
  • Unity中UI背景的高斯模糊
  • Avalonia 的命令基类和通知基类备份
  • 分布式和微服务的区别是什么?
  • windows10 安装 WSL2 及 ubuntu 24.04,Ubuntu中安装CUDA
  • 全链路智能运维中的多模态数据融合与语义对齐技术
  • 【DevOps】基于Nexus部署内网pypi代理镜像仓库操作手册
  • 微服务核心
  • 网站倒计时如何做自己的影视网站
  • 【DevOps】基于Nexus部署内网ubuntu 2204系统APT代理镜像仓库操作手册
  • 【开题答辩实录分享】以《开题报告 智能家居控制平台的构建》为例进行答辩实录分享
  • 建设论坛网站视频稿定设计官网入口
  • 利用R绘制箱线图