利用chart.js制作环形进度条

业务要求要使用现有的chart.js的库制作环形进度条,既可以自己设定运行时间,又可以利用ajax获取进度等。

1.画板定位

<div class="col-sm-6 col-sm-offset-3 msg text-center">
    <canvas id="load" width="200" height="200" class="text-center" >Your browser does not support canvas!</canvas>
    <p class="status"></p>
    <p class="tip"><strong class="text-warning">Device information loading...</strong></p>
</div>

status的p标签是为了用数字显示当前进度。

2.画进度条

function progress(bfb){
    let data = [
        {
            value: bfb,
            color:"#5cb85c"
        },
        {
            value: 100-bfb,
            color:"#ddd"
        }
    ];
    let defaults = {
        segmentShowStroke : false,
        animation : false

    };
    let canvas = document.getElementById("load");
    let ctx= canvas.getContext("2d");
    new Chart(ctx).Doughnut(data,defaults);
    $(".status").text(bfb+"%");
    bfb++;
    if(bfb==100){
        clearTimeout(time)
        // window.location.href="home.html";
    }else{
        time=setTimeout(function(){
            progress(bfb);
        },30)
    }
}

注意进度条的两种颜色不要放反了,进度条到100后要清除定时器否则会继续走下去。

3.启用

let bfb = 0;
progress(bfb);

注意要设置初始值为0,再调用方法。

4.其他

如果是与后台交互获取数值的话,只需将数值赋给方法内的bfb参数即可。最后效果如下:




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值