久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

本篇文章主要介紹了html5中canvas圖表實現柱狀圖的示例,本文使用canvas來實現一個圖表,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas 實現 github404動態效果的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了教你使用Canvas處理圖片的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了Canvas與圖片壓縮的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了基于HTML5 Canvas的3D動態Chart圖表的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas之自定義頭像功能實現代碼示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: av福利在线| 韩日视频| 天天碰天天操 | 天天天天躁天天爱天天碰2018 | 中文字幕第一 | 国产一区二区三区久久 | 久草小视频 | 久草视频免费在线观看 | 日韩一区二区三区在线播放 | 亚洲成人免费在线观看 | 欧美精品成人一区二区在线观看 | 在线免费看a | 中文字幕理伦片免费看 | 成人午夜av | 欧美香蕉视频 | 国产午夜一区二区三区 | av网址在线播放 | 99久久婷婷 | 无套内谢的新婚少妇国语播放 | 日本免费在线 | 伊人久久大 | 亚洲综合影院 | 毛片网页 | 中文字幕av一区二区三区谷原希美 | 亚洲一区二区欧美 | 亚洲综合激情网 | 免费av片| 黄色精品视频 | 国产精品视频免费看 | 日本婷婷| 日韩欧美在线看 | 天堂一区二区三区 | 成人性色生活片 | 成人高清免费 | 91精品久久久久久久久 | a视频在线免费观看 | 午夜拍拍| 日韩一级黄色片 | av网站观看 | 国产激情视频在线 | 中文字幕在线日韩 |