前端开发之:js+svg实现圆形进度条~

css样式代码:

 .osvg{
            position: absolute;
            inset: 0; /* 上下左右四个方向都设置为0 */
            margin: auto;
        }
        .oround{
            fill:transparent;
            stroke-width: 12;
            stroke:#00cb4c;
            stroke-dasharray:628; /* stroke-dasharray:第一个值表示分割的长度 第二个值是分割的间隔*/
            stroke-dashoffset:0; /* 表示总长度减去stroke-dashoffset剩下在页面显示的长度 列如:总长度 300,stroke-dashoffset:100,页面显示200*/
        }
        text{
            font-size:21;
            stroke:#00cb4c;
            text-anchor:middle;
            alignment-beseline:middle;
        }

html代码:

 <svg width="300" height="300" class="osvg">
        <circle class="oround" cx="150" cy="150" r="100"/>
        <text x="150" y="150">0%</text>
    </svg>

js代码:

<script>
        let oround = document.querySelector('.oround');
        let otext = document.querySelector('text');
        let olength  = oround.getTotalLength();//etTotalLength:获取图形总长度
        let loadingArr = [];
       
        for(let i = 0; i <=100; i++){
            loadingArr.push(i)
        }
        let index = 0;
        let timer = setInterval(() =>{
            oround.style.strokeDashoffset =  olength - 
            olength * (loadingArr[index]/100);
            otext.textContent = `${loadingArr[index]}%`
            index ++;
            if(index === loadingArr.length){
                clearInterval(timer);
                otext.textContent = "加载完毕"
            }
        },80);


    </script>

效果:

svg+js圆形进度条效果


参考来源:5.89 xfb:/ 每天学点前端,svg+js 圆形进度条效果~# 网页设计 # 前端 # html # javascript # 互联网技术 https://v.douyin.com/ABo1t19/ 复制此链接,打开Dou音搜索,直接观看视频!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值