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 的 prototype问题。
Jan 03 Javascript
ajax异步刷新实现更新数据库
Dec 03 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
Jan 07 Javascript
登陆成功后自动计算秒数执行跳转
Jan 23 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
Aug 06 Javascript
微信小程序wx.request实现后台数据交互功能分析
Nov 25 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
May 10 Javascript
js动态设置select下拉菜单的默认选中项实例
Aug 21 Javascript
vue中的router-view组件的使用教程
Oct 23 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
May 08 Javascript
微信小程序之 catalog 切换实现解析
Sep 12 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
Aug 13 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在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
jQuery Ajax文件上传(php)
2009/06/16 Javascript
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
javascript计时器详解
2015/02/28 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
javascript闭包(Closure)用法实例简析
2015/11/30 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
vue router demo详解
2017/10/13 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Linux下为不同版本python安装第三方库
2016/08/31 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
浅述python2与python3的简单区别
2018/09/19 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
python3实现字符串操作的实例代码
2019/04/16 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
Django中的AutoField字段使用
2020/05/18 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
商务邀请函范文
2014/01/14 职场文书
《理想》教学反思
2014/02/17 职场文书
理想演讲稿范文
2014/05/21 职场文书
交通志愿者活动总结
2014/06/27 职场文书
推销搭讪开场白
2015/05/28 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS