news 2026/8/22 10:35:11

vue-circle-progress:一条命令装好 Vue 动画圆形进度条

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vue-circle-progress:一条命令装好 Vue 动画圆形进度条

vue-circle-progress:一条命令装好 Vue 动画圆形进度条

【免费下载链接】vue-circle-progressA Vue.js component to draw animated circular progress bars项目地址: https://gitcode.com/gh_mirrors/vu/vue-circle-progress

vue-circle-progress 是一个 Vue 2 组件,专门用来在页面里绘制带动画的圆形进度条(circular progress bar):给一个progress数值,圆环就从 0 平滑涨到目标值,圆心同步显示百分比。它的 npm 包名是vue2-circle-progress,注意带"2"。

它解决什么问题:Vue 项目里的动画圆形进度条

从零画一个圆形进度条比想象中麻烦:要在 SVG 或 Canvas 里算弧线角度、逐帧写动画,还得在圆心叠加百分比文字并调整字号。一页出现几个环时,这些代码就到处重复。vue-circle-progress 的定位是 Vue 项目的"开箱即用"进度环:它把成熟的绘图库 jquery-circle-progress 封装成标准 Vue 组件,你在模板里声明几个 props,就得到一个会动画、能换色、可发事件的进度条。

快速上手:vue-circle-progress 安装与本地运行

在现有 Vue 2 项目里,只需执行npm install vue2-circle-progress,然后像普通组件一样导入、注册、写进模板即可,progress之外全部参数可选。

🚀 想先跑起来看效果,可以把仓库克隆到本地:

git clone https://gitcode.com/gh_mirrors/vu/vue-circle-progress cd vue-circle-progress && npm install && npm run dev

启动后示例运行在 localhost:8080,页面上有一个 Redraw 按钮,点击后能看到进度带动画跳到 60%,方便直观感受默认缓动效果。

核心功能拆解:填充、事件与动态更新

只有 progress 是必传参数

必填项只有progress(目标百分比)。size控制圆的直径(默认 200),thickness控制环的粗细(默认自动按 size 的 1/14 计算),reverse反转动画与弧线方向,start-angle改起始角度,line-cap决定弧线端点是圆头还是平头。

渐变色与图片都能填

fill接受纯色字符串、渐变色数组(如{ gradient: ["red", "green", "blue"] },还支持指定渐变角度),甚至可以传一张图片 URL 让弧线按图片填充;empty-fill则单独设置未填充部分的底色。

三个事件钩住动画全过程

组件会向父组件发出vue-circle-init(初始化完成)、vue-circle-progress(每一步动画都触发,携带当前百分比)、vue-circle-end(动画结束)。官方演示 src/App.vue 就监听进度事件,在超过阈值时实时切换填充颜色。

两个方法做动态更新

给组件加一个ref,就能在父组件里调用updateProgress(value)改变进度——数值变化带动画过渡、不重绘组件本体;updateFill(fill)则随时切换填充样式,适配上传进度这类实时刷新的场景。

动画时长与缓动可调

默认动画 1200ms、缓动为 ease-in-out-cubic;把animation设为false可整体关闭动画,animation-start-value设成 1.0 还能做出反向"排空"的效果。

适用场景与选型建议

  • 文件上传/下载进度:配合updateProgress方法,进度条能跟随真实进度实时推进
  • 仪表盘百分比卡片fill上渐变、show-percent在圆心显示数字,一块卡片就是完整指标
  • 任务加载反馈vue-circle-end事件触发后接后续逻辑,比如跳转或弹出结果

💡 什么情况不建议用:它底层依赖 jQuery 绘图库,且是 Vue 2 组件(依赖 vue ^2.0.0),Vue 3 项目无法直接安装使用;另外如果你需要逐像素控制弧线细节、或希望减少包体积,自己绘制或换用无依赖的方案更合适。

技术一览:Vue 2 + jQuery 绘图库

  • 框架:Vue 2.0+,包当前版本 1.2.3
  • 绘图与动画底层:封装 jquery-circle-progress(^1.2.2),缓动函数来自 jquery-easing
  • 组件源码:src/index.vue,核心是 mounted 钩子里初始化绘图库并转发事件
  • 构建工具链:webpack 1 + vue-loader 8,npm run dev本地调试、npm run build打包发布

写在最后

一句话回顾:vue-circle-progress 把"算弧线、写动画、叠百分比"这一整套流程收进一个 Vue 2 组件里,代价只是一条安装命令和几个 props。准备接入的话,先对照 README.md 里的 props 表挑出你要的参数;使用中发现 bug 或有新想法,直接到仓库提 Issue 就行。

【免费下载链接】vue-circle-progressA Vue.js component to draw animated circular progress bars项目地址: https://gitcode.com/gh_mirrors/vu/vue-circle-progress

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 10:33:20

AI智能体技能评测:构建效用性与安全性的标准化基准框架

1. 项目缘起:当AI智能体开始“动手”,我们如何评估其能力与风险? 最近几个月,AI智能体(Agent)的热度持续攀升。从能自动写代码、调试Bug的Devin,到能规划复杂工作流的AutoGPT,再到各…

作者头像 李华
网站建设 2026/8/22 10:32:59

TCP四次挥手原理深度解析:为什么不能是三次挥手?

最近在准备面试,或者刚工作不久的同学,可能都遇到过这个经典问题:“TCP挥手为什么不能是三次?” 很多人能背出“四次挥手”的流程,甚至能画出状态图,但被问到“为什么不能是三次”时,却往往只能…

作者头像 李华
网站建设 2026/8/22 10:32:08

ESP32 S3 入门工程:打印系统信息

文章目录前言一、工程要达成什么二、工程结构三、板级默认配置(N16R8)四、编译、烧录、监视五、代码走读(main/sysinfo.c)5.1 头文件与职责5.2 app_main 流程5.3 芯片信息5.4 内存信息(重点)5.5 FreeRTOS 两…

作者头像 李华
网站建设 2026/8/22 10:31:57

2026大模型开发实战:零基础一周掌握Transformer、LangChain与本地部署

这次我们来看一套面向2026年的大模型开发教程。这套教程的目标很直接:帮助零基础的学习者,在一周内,通过一套结构化的学习路径,掌握从理论到实践的大模型开发核心技能。它不空谈概念,而是聚焦于“能不能用”和“怎么用…

作者头像 李华
网站建设 2026/8/22 10:31:36

查重过了AI率又爆?3款双降工具实测:重复率和AIGC率一步搞定

论文查重31%、AI检测64%,两个数字同时超标。很多同学先降重再降AI,结果降重完的文本AI率反而更高,白折腾一轮。我的结论是:能同步双降的工具优先用,快降重实测AIGC率64%→6.9%、重复率31%→10%,一轮搞定两项…

作者头像 李华