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 相关文章推荐
Domino中运用jQuery读取视图内容的方法
Oct 21 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
Sep 20 Javascript
jQuery层次选择器选择元素使用介绍
Apr 18 Javascript
checkbox设置复选框的只读效果不让用户勾选
Aug 12 Javascript
javascript操作excel生成报表示例
May 08 Javascript
浅谈AngularJS中ng-class的使用方法
Nov 11 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
Jul 07 Javascript
基于Vue生产环境部署详解
Sep 15 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
Mar 09 Javascript
Nautil 中使用双向数据绑定的实现
Oct 02 Javascript
vue自定义指令和动态路由实现权限控制
Aug 28 Javascript
React forwardRef的使用方法及注意点
Jun 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
德生PL330测评
2021/03/02 无线电
实用函数3
2007/11/08 PHP
php计算十二星座的函数代码
2012/08/21 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
javascript实现yield的方法
2013/11/06 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
js实现点赞效果
2020/03/16 Javascript
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Django日志模块logging的配置详解
2017/02/14 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
自主实习接收函
2014/01/13 职场文书
优秀部门获奖感言
2014/02/14 职场文书
初中学生期末评语
2014/04/24 职场文书
活动总结怎么写
2014/04/28 职场文书
青年志愿者先进事迹
2014/05/06 职场文书
还款承诺书范文
2014/05/20 职场文书
企业宣传标语
2014/06/09 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
Redis集群的关闭与重启操作
2021/07/07 Redis