pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

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中心點(diǎn)x軸坐標(biāo)
            centerY = canvas.height/2,  //Canvas中心點(diǎn)y軸坐標(biāo)
            rad = Math.PI*2/100, //將360度分成100份,那么每一份就是rad度
            speed = 0.1; //加載的快慢就靠它了 

3.繪制5像素寬的運(yùn)動外圈

//繪制5像素寬的運(yùn)動外圈
        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可以保證樣式屬性只運(yùn)用于該段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.讓它運(yùn)動起來

//動畫循環(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中心點(diǎn)x軸坐標(biāo)
            centerY = canvas.height/2,  //Canvas中心點(diǎn)y軸坐標(biāo)
            rad = Math.PI*2/100, //將360度分成100份,那么每一份就是rad度
            speed = 0.1; //加載的快慢就靠它了 
            
        //繪制5像素寬的運(yùn)動外圈
        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可以保證樣式屬性只運(yùn)用于該段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)站聲明】本站除付費(fèi)源碼經(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)代碼示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 粘度计,数显粘度计,指针旋转粘度计| 通用磨耗试验机-QUV耐候试验机|久宏实业百科 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 中式装修设计_室内中式装修_【云臻轩】中式设计机构 | 电销卡_北京电销卡_包月电话卡-豪付网络 | 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | 澳洁干洗店加盟-洗衣店干洗连锁「澳洁干洗免费一对一贴心服务」 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 泰兴市热钻机械有限公司-热熔钻孔机-数控热熔钻-热熔钻孔攻牙一体机 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 心得体会网_心得体会格式范文模板| 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 | 市政路灯_厂家-淄博信达电力科技有限公司| 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 西安文都考研官网_西安考研辅导班_考研培训机构_西安在职考研培训 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 合肥宠物店装修_合肥宠物美容院装修_合肥宠物医院设计装修公司-安徽盛世和居装饰 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 北京办公室装修,办公室设计,写字楼装修-北京金视觉装饰工程公司 北京成考网-北京成人高考网 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 螺杆泵_中成泵业| 多物理场仿真软件_电磁仿真软件_EDA多物理场仿真软件 - 裕兴木兰 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 东莞注册公司-代办营业执照-东莞公司注册代理记账-极刻财税 | 微动开关厂家-东莞市德沃电子科技有限公司 | 隧道烘箱_隧道烘箱生产厂家-上海冠顶专业生产烘道设备 | 斗式提升机_链式斗提机_带式斗提机厂家无锡市鸿诚输送机械有限公司 |