首页前端开发HTMLHTML5 Canvas 实现圆形进度条并显示数字百分比效果示例

HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例

时间2024-01-24 20:51:23发布访客分类HTML浏览300
导读:收集整理的这篇文章主要介绍了HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例,觉得挺不错的,现在分享给大家,也给大家做个参考。 本文介绍了HTML5 canvas 实现圆形进度条并显示数字百分比效果示例,具体如下:...
收集整理的这篇文章主要介绍了HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例,觉得挺不错的,现在分享给大家,也给大家做个参考。

本文介绍了HTML5 canvas 实现圆形进度条并显示数字百分比效果示例,具体如下:

实现效果

1.首先创建htML代码

canvas id="canvas" width="500" height="500" style="background:#000;
    ">
    /canvas>
    

2.创建canvas环境

VAR canvas = document.getElementById('canvas'),  //获取canvas元素            context = canvas.getContext('2d'),  //获取画图环境,指明为2d            centerX = canvas.width/2,   //Canvas中心点x轴坐标            centerY = canvas.height/2,  //Canvas中心点y轴坐标            rad = Math.PI*2/100, //将360度分成100份,那么每一份就是rad度            sPEed = 0.1;
     //加载的快慢就靠它了 

3.绘制5像素宽的运动外圈

//绘制5像素宽的运动外圈        function blueCircle(n){
                context.save();
                context.strokeStyle = "#fff";
     //设置描边样式            context.lineWidth = 5;
     //设置线宽            context.beginPath();
     //路径开始            context.arc(centerX, centerY, 100 , -Math.PI/2, -Math.PI/2 +n*rad, false);
     //用于绘制圆弧context.arc(x坐标,y坐标,半径,起始角度,终止角度,顺时针/逆时针)            context.stroke();
     //绘制            context.closePath();
     //路径结束            context.reStore();
        }
    

 4.绘制白色外圈

//绘制白色外圈        function whITeCircle(){
                context.save();
                context.beginPath();
                context.lineWidth = 2;
     //设置线宽            context.strokeStyle = "red";
                context.arc(centerX, centerY, 100 , 0, Math.PI*2, false);
                context.stroke();
                context.closePath();
                context.restore();
        }
      

5.百分比文字绘制

function text(n){
                context.save();
     //save和restore可以保证样式属性只运用于该段canvas元素            context.strokeStyle = "#fff";
     //设置描边样式            context.font = "40px Arial";
     //设置字体大小和字体            //绘制字体,并且指定位置            context.strokeText(n.toFixed(0)+"%", centerX-25, centerY+10);
                context.stroke();
     //执行绘制            context.restore();
        }
     

6.让它运动起来

//动画循环        (function drawFrame(){
                window.requestAnimationFrame(drawFrame);
                context.clearRect(0, 0, canvas.width, canvas.height);
                whiteCircle();
                text(speed);
                blueCircle(speed);
                if(speed >
     100) speed = 0;
                speed += 0.1;
        }
    ());
    

完整代码

!DOCTYPE html>
    html lang="en">
    head>
    meta charset="UTF-8">
    title>
    HTML5 Canvas 圆形进度条并显示数字百分比/title>
    style>
*{
    margin:0;
    padding:0;
}
body{
    text-align:center;
    background-color:#000;
}
    /style>
    /head>
    body>
    canvas id="canvas" width="500" height="500" style="background:#000;
    ">
    /canvas>
    script>
    window.onload = function(){
            var canvas = document.getElementById('canvas'),  //获取canvas元素            context = canvas.getContext('2d'),  //获取画图环境,指明为2d            centerX = canvas.width/2,   //Canvas中心点x轴坐标            centerY = canvas.height/2,  //Canvas中心点y轴坐标            rad = Math.PI*2/100, //将360度分成100份,那么每一份就是rad度            speed = 0.1;
 //加载的快慢就靠它了                     //绘制5像素宽的运动外圈        function blueCircle(n){
                context.save();
                context.strokeStyle = "#fff";
     //设置描边样式            context.lineWidth = 5;
     //设置线宽            context.beginPath();
     //路径开始            context.arc(centerX, centerY, 100 , -Math.PI/2, -Math.PI/2 +n*rad, false);
     //用于绘制圆弧context.arc(x坐标,y坐标,半径,起始角度,终止角度,顺时针/逆时针)            context.stroke();
     //绘制            context.closePath();
     //路径结束            context.restore();
        }
        //绘制白色外圈        function whiteCircle(){
                context.save();
                context.beginPath();
                context.lineWidth = 2;
     //设置线宽            context.strokeStyle = "red";
                context.arc(centerX, centerY, 100 , 0, Math.PI*2, false);
                context.stroke();
                context.closePath();
                context.restore();
        }
          //百分比文字绘制        function text(n){
                context.save();
     //save和restore可以保证样式属性只运用于该段canvas元素            context.strokeStyle = "#fff";
     //设置描边样式            context.font = "40px Arial";
     //设置字体大小和字体            //绘制字体,并且指定位置            context.strokeText(n.toFixed(0)+"%", centerX-25, centerY+10);
                context.stroke();
     //执行绘制            context.restore();
        }
         //动画循环        (function drawFrame(){
                window.requestAnimationFrame(drawFrame);
                context.clearRect(0, 0, canvas.width, canvas.height);
                whiteCircle();
                text(speed);
                blueCircle(speed);
                if(speed >
     100) speed = 0;
                speed += 0.1;
        }
    ());
    }
    /script>
    /body>
    /html>
    

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: HTML5中的拖放实现详解下一篇:mui几种页面跳转方式对比总结概括猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
本文地址: https://pptw.com/jishu/585732.html
HTML5 移动页面自适应手机屏幕四类方法总结 HTML5 LocalStorage 本地存储详细概括(多图)

游客 回复需填写必要信息