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 相关文章推荐
jQuery 标题的自动翻转实现代码
Oct 14 Javascript
jquery 打开窗口返回值实现代码
Mar 04 Javascript
JS实现div居中示例
Apr 17 Javascript
node.js中的console.time方法使用说明
Dec 09 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
Jul 01 Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
Dec 02 Javascript
js弹出窗口返回值的简单实例
May 28 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
Nov 23 Javascript
JS运动特效之完美运动框架实例分析
Jan 24 Javascript
一些可能会用到的Node.js面试题
Jun 15 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 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中strtotime函数使用方法详解
2011/11/27 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
大家未必知道的Js技巧收藏
2008/04/07 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
jQuery时间轴插件使用详解
2015/07/16 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
Javascript基于OOP实实现探测器功能代码实例
2020/08/26 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
python爬取微信公众号文章
2018/08/31 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
python判断元素是否存在的实例方法
2020/09/24 Python
物流经理自我评价
2013/09/23 职场文书
精彩的英文自荐信
2014/01/30 职场文书
社区庆中秋节活动方案
2014/02/07 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
2015年汽车销售经理工作总结
2015/04/27 职场文书
运动会5000米加油稿
2015/07/21 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电
apache ftpserver搭建ftp服务器
2022/05/20 Servers