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

用js+css实现圆环型的进度条——js+css基础积累

如果用js+css实现圆环型的进度条:
在这里插入图片描述
直接上代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>环形进度条</title></head><body><div class="percent"><svg style="transform: rotate(-90deg)"><circle cx="50" cy="50" r="50" /><circle id="circle" cx="50" cy="50" r="50" style="stroke: red" /></svg><div class="num"><h2><span id="per">0</span><span>%</span></h2></div></div><div class="percent"><svg style="transform: rotate(-90deg)"><circle cx="50" cy="50" r="50" /><circle id="circle2" cx="50" cy="50" r="50" style="stroke: #f90" /></svg><div class="num"><h2><span id="per2">0</span><span>%</span></h2></div></div><div class="percent"><svg style="transform: rotate(-90deg)"><circle cx="50" cy="50" r="50" /><circle id="circle3" cx="50" cy="50" r="50" style="stroke: #67c23a" /></svg><div class="num"><h2><span id="per3">0</span><span>%</span></h2></div></div></body><style>body {height: 100vh;display: flex;justify-content: center;align-items: center;margin: 0;}.percent {position: relative;width: 110px;height: 110px;}.percent svg {width: 110px;height: 110px;}.percent svg circle {fill: none;stroke-width: 10;stroke: #1258e3;transform: translate(5px, 5px);/* 设置虚线长度 = 圆的周长(2*50*3.1415926) */stroke-dasharray: 310;/* 设置圆的空白间隙 */stroke-dashoffset: 310;}.percent svg circle:nth-child(1) {stroke-dashoffset: 0;stroke: #f3f3f3;}.percent svg circle:nth-child(2) {stroke-dashoffset: calc(310 - 310 * (0 / 100));stroke-linecap: round;}.percent .num {position: absolute;left: 0;top: 0;width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;}#per {font-size: 22px;}</style><script>circleRender(document.querySelector('#circle'),document.querySelector('#per'),50);circleRender(document.querySelector('#circle2'),document.querySelector('#per2'),10);circleRender(document.querySelector('#circle3'),document.querySelector('#per3'),95);function circleRender(circle, per, percent) {let num = 0;const timer = setInterval(() => {num += 1;if (num > percent) {num = percent;clearInterval(timer);blo = false;}// 设置进度circle.style.strokeDashoffset = `calc(310 - 310*(${num}/100))`;per.innerHTML = num;}, 100);}</script>
</html>
http://www.lryc.cn/news/467953.html

相关文章:

  • TDengine 与北微传感达成合作,解决传统数据库性能瓶颈
  • 通过Python爬虫获取商品销量数据,轻松掌握市场动态
  • 学习虚幻C++开发日志——TSet
  • 面向对象进阶(下)(JAVA笔记第二十二期)
  • 通信协议——UART
  • 最优阵列处理技术(七)-谱加权
  • Java | Leetcode Java题解之第486题预测赢家
  • leetcode动态规划(十五)-完全背包
  • AI视听新体验!浙大阿里提出视频到音乐生成模型MuVi:可解决语义对齐和节奏同步问题
  • 对比两个el-table,差异数据突显标记
  • 调研funasr时间戳返回时间坐标效果可用性
  • Tomcat默认配置整理
  • 深入理解Rust中的指针:裸指针 智能指针
  • 物联网实训项目:绿色家居套件
  • 缓存雪崩是什么
  • 【格物刊】龙信刊物已上新
  • DNA存储介绍
  • 如何修改MAC地址破解网络无线网络限制-担心别人蹭网,路由器设置MAC地址过滤,限定了能访问无线网络的网卡地址-供大家学习参考
  • C端产品经理与B端产品经理的区别
  • 书生营 L0G4000 玩转HF/魔搭/魔乐社区
  • 轻松检测麦克风功能:使用Python的sounddevice和soundfile库
  • k8s 部署步骤整理(containerd)
  • Swagge详解,SpringBoot项目集成Swagger
  • docker搭建etcd集群环境方式
  • 重装ubuntu系统后配置
  • Java基于数据库的分布式可重入锁(带等待时间和过期时间)
  • 国家信息安全水平考试(NISP一级)最新题库-第十七章
  • Java 8 新特性概览
  • pyspark==堆叠
  • Zypher Network Layer3 主网上线,不容错过的“宝藏方舟”活动