应用Canvas实现圆环形进度条
2015-09-01 00:00
801 查看
摘要: Canvas绘制圆环,使用定时器可动态控制圆环的百分比,非常灵活。
调用方式如:timer("createCanvas",0,20,100); 表示使圆环(id为createCanvas)从0动态填充至20%,每隔0.1秒填充1%。
定时器函数
圆环绘制函数
只要在html中加入Canvas标签即可,如:
调用方式如:timer("createCanvas",0,20,100); 表示使圆环(id为createCanvas)从0动态填充至20%,每隔0.1秒填充1%。
定时器函数
/* * 执行定时任务 * id:画布id * start:初始百分比 * end:结束百分比 * interval:时间间隔 */ function timer(id,start,end,interval){ window.setTimeout(function(){ circle(id,start/100); start++; if(start<end+1){ timer(id,start,end,interval); } },interval); }
圆环绘制函数
function circle(id,percent){ var p=(percent*100).toFixed(0); var c=document.getElementById(id); var cxt=c.getContext("2d"); //生成圆形(底圆) cxt.fillStyle="#D0D0D0"; cxt.beginPath(); cxt.moveTo(75, 75); cxt.arc(75,75,70,0,Math.PI*2,false); cxt.closePath(); cxt.fill(); //生成扇形 cxt.fillStyle="#0268BD"; cxt.beginPath(); cxt.moveTo(75, 75); if(percent==1){ cxt.arc(75,75,70,0,Math.PI*2,false); }else if(percent==0){ cxt.arc(75,75,70,0,0,true); }else{ cxt.arc(75,75,70,Math.PI,Math.PI+Math.PI*2*percent,false); } cxt.closePath(); cxt.fill(); //生成圆形(上层园) cxt.fillStyle="#FFFFFF"; cxt.beginPath(); cxt.moveTo(75, 75); cxt.arc(75,75,50,0,Math.PI*2,false); cxt.closePath(); cxt.fill(); //生成中间百分比文字 cxt.font="20px arial"; cxt.fillStyle="#000000"; cxt.fillText(p+"%",55,75); // cxt.fillText("0%",160,75); }
只要在html中加入Canvas标签即可,如:
<canvas style="float:left;" id="step1Canvas" width='150' height='150' > 您的浏览器不支持HTML5,请尝试其他浏览器! </canvas>
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- JavaScript拆分字符串时产生空字符的原因
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets
- javascript asp教程第十二课---session对象
- javascript asp教程创建数据库连接
- javascript asp教程错误处理