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

HTML5 Canvas 實現(xiàn)圓形進(jìn)度條并顯示數(shù)字百分比效果示例

本篇文章主要介紹了HTML5 Canvas 實現(xiàn)圓形進(jìn)度條并顯示數(shù)字百分比效果示例,具有一定的參考價值,有興趣的可以了解一下

本文介紹了HTML5 Canvas 實現(xiàn)圓形進(jìn)度條并顯示數(shù)字百分比效果示例,具體如下:

實現(xiàn)效果

HTML5 Canvas 實現(xiàn)圓形進(jìn)度條并顯示數(shù)字百分比效果示例

1.首先創(chuàng)建html代碼

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

2.創(chuàng)建canvas環(huán)境

var canvas = document.getElementById('canvas'),  //獲取canvas元素
            context = canvas.getContext('2d'),  //獲取畫圖環(huán)境,指明為2d
            centerX = canvas.width/2,   //Canvas中心點x軸坐標(biāo)
            centerY = canvas.height/2,  //Canvas中心點y軸坐標(biāo)
            rad = Math.PI*2/100, //將360度分成100份,那么每一份就是rad度
            speed = 0.1; //加載的快慢就靠它了 

3.繪制5像素寬的運動外圈

//繪制5像素寬的運動外圈
        function blueCircle(n){
            context.save();
            context.strokeStyle = "#fff"; //設(shè)置描邊樣式
            context.lineWidth = 5; //設(shè)置線寬
            context.beginPath(); //路徑開始
            context.arc(centerX, centerY, 100 , -Math.PI/2, -Math.PI/2 +n*rad, false); //用于繪制圓弧context.arc(x坐標(biāo),y坐標(biāo),半徑,起始角度,終止角度,順時針/逆時針)
            context.stroke(); //繪制
            context.closePath(); //路徑結(jié)束
            context.restore();
        }

 4.繪制白色外圈

//繪制白色外圈
        function whiteCircle(){
            context.save();
            context.beginPath();
            context.lineWidth = 2; //設(shè)置線寬
            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"; //設(shè)置描邊樣式
            context.font = "40px Arial"; //設(shè)置字體大小和字體
            //繪制字體,并且指定位置
            context.strokeText(n.toFixed(0)+"%", centerX-25, centerY+10);
            context.stroke(); //執(zhí)行繪制
            context.restore();
        } 

6.讓它運動起來

//動畫循環(huán)
        (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 圓形進(jìn)度條并顯示數(shù)字百分比</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'),  //獲取畫圖環(huán)境,指明為2d
            centerX = canvas.width/2,   //Canvas中心點x軸坐標(biāo)
            centerY = canvas.height/2,  //Canvas中心點y軸坐標(biāo)
            rad = Math.PI*2/100, //將360度分成100份,那么每一份就是rad度
            speed = 0.1; //加載的快慢就靠它了 
            
        //繪制5像素寬的運動外圈
        function blueCircle(n){
            context.save();
            context.strokeStyle = "#fff"; //設(shè)置描邊樣式
            context.lineWidth = 5; //設(shè)置線寬
            context.beginPath(); //路徑開始
            context.arc(centerX, centerY, 100 , -Math.PI/2, -Math.PI/2 +n*rad, false); //用于繪制圓弧context.arc(x坐標(biāo),y坐標(biāo),半徑,起始角度,終止角度,順時針/逆時針)
            context.stroke(); //繪制
            context.closePath(); //路徑結(jié)束
            context.restore();
        }
        //繪制白色外圈
        function whiteCircle(){
            context.save();
            context.beginPath();
            context.lineWidth = 2; //設(shè)置線寬
            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"; //設(shè)置描邊樣式
            context.font = "40px Arial"; //設(shè)置字體大小和字體
            //繪制字體,并且指定位置
            context.strokeText(n.toFixed(0)+"%", centerX-25, centerY+10);
            context.stroke(); //執(zhí)行繪制
            context.restore();
        } 
        //動畫循環(huán)
        (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>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持。

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

相關(guān)文檔推薦

本篇文章主要介紹了html5中canvas圖表實現(xiàn)柱狀圖的示例,本文使用canvas來實現(xiàn)一個圖表,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas 實現(xiàn) github404動態(tài)效果的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了教你使用Canvas處理圖片的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了Canvas與圖片壓縮的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了基于HTML5 Canvas的3D動態(tài)Chart圖表的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas之自定義頭像功能實現(xiàn)代碼示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 成人网av | 日韩在线视频免费观看 | 日韩视频在线免费观看 | 天天色av | 亚洲欧洲成人av每日更新 | 老司机精品福利视频 | 午夜私人影院 | 国产精品成人一区二区 | 91视视频在线观看入口直接观看 | 国产精品美女久久久久aⅴ国产馆 | 亚洲二区精品 | 日本免费网 | 久久精品视频在线免费观看 | 精品一区国产 | 欧美一区免费 | 日韩成人免费视频 | 性色av一区二区三区 | 欧美黄色免费网站 | 丁香久久| 一区二区在线观看免费视频 | 香蕉久久a毛片 | 精品视频在线观看 | 色资源站 | 日韩在线观看视频一区 | 亚洲中午字幕 | 欧美日韩高清免费 | 国产成人免费视频网站高清观看视频 | 做a的各种视频 | 日韩欧美不卡 | 日韩精品一区在线观看 | 国产99视频精品免视看9 | 久久精品免费 | 成人免费看片又大又黄 | 天天射夜夜操 | 欧洲精品久久久久毛片完整版 | 亚洲免费成人 | 欧美黑人一级爽快片淫片高清 | 国产欧美精品一区二区 | 国产高清视频一区 | 日本人麻豆 | 日本电影网站 |