canvas实现简易的圆环进度条效果


Posted in Javascript onFebruary 28, 2017

效果图:

canvas实现简易的圆环进度条效果

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 </head>
 <style type="text/css">
 canvas{
  border: 1px solid #1F232A;
 }
 .div{
  width: 400px;
  height: 50px;
 }
 input,button{
  text-align: center;
  font-size: 20px;
 }
 </style>
 <body>
 <canvas id="main" width="450" height="300"></canvas>
 <div class="div">
 进度:<input id="num" type="number" value="100" max="100"/>
 <button id="makeSure">确定</button>
 </div>
 </body>
 <script type="text/javascript">
 var makeSure=document.getElementById("makeSure");
 makeSure.onclick=function(){
  var ctx=document.getElementById("main").getContext("2d");
  ctx.clearRect(0,0,450,300);
  var num=parseInt(document.getElementById("num").value)+1;
  if(num<=101){
  for (var x=0;x<num;x++) {
  (function(x){
     setTimeout(function(){
      ctx.beginPath()
      ctx.lineWidth=10;
   ctx.strokeStyle='orange';
   ctx.arc(200, 200, 50, -90 * Math.PI / 180, (x * 3.6 - 90) * Math.PI / 180);
     ctx.stroke();
      ctx.clearRect(390,25,50,50);
      ctx.clearRect(175,175,55,55)
       ctx.fillStyle = 'orange';
   ctx.fillRect(10+x*3.5,30,3.5,40);
   ctx.font="20px Arial";
   ctx.fillText(x+"%",390,58)
   ctx.fillText(x+"%",175,208)
     },x*30); 
   })(x);
  }
  }else{
  alert("请输入0-100之间的数字")
  }
 }
 makeSure.click();
 </script>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
一句话JavaScript表单验证代码
Aug 02 Javascript
extjs之去除s.gif的影响
Dec 25 Javascript
JavaScript XML和string相互转化实现代码
Jul 04 Javascript
js实现弹窗插件功能实例代码分享
Dec 12 Javascript
node.js中的console用法总结
Dec 15 Javascript
[原创]javascript typeof id==='string'?document.getElementById(id):id解释
Nov 02 Javascript
Webpack优化配置缩小文件搜索范围
Dec 25 Javascript
opencv 识别微信登录验证滑动块位置
Aug 07 Javascript
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
vue基础之data存储数据及v-for循环用法示例
Mar 08 Javascript
scrapyd schedule.json setting 传入多个值问题
Aug 07 Javascript
深入浅析React中diff算法
May 19 Javascript
JS实现的tab切换选项卡效果示例
Feb 28 #Javascript
jQuery Pagination分页插件使用方法详解
Feb 28 #Javascript
完美解决input[type=number]无法显示非数字字符的问题
Feb 28 #Javascript
canvas红包照片实例分享
Feb 28 #Javascript
详解本地Node.js服务器作为api服务器的解决办法
Feb 28 #Javascript
jquery操作select取值赋值与设置选中实例
Feb 28 #Javascript
JS使用面向对象技术实现的tab选项卡效果示例
Feb 28 #Javascript
You might like
解析PHP无限级分类方法及代码
2013/06/21 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
Json序列化和反序列化方法解析
2013/12/19 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
微信小程序实现签字功能
2019/12/23 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
python局部赋值的规则
2013/03/07 Python
python uuid模块使用实例
2015/04/08 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
优秀的毕业生的自我评价
2013/12/12 职场文书
工程项目经理岗位职责
2013/12/15 职场文书
优秀的计算机专业求职信范文
2013/12/27 职场文书
运动会广播稿300字
2014/01/10 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
企业法人代表任命书
2014/06/06 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
迎新生欢迎词
2015/01/23 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python