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 检测、添加、移除样式(className)函数代码
Sep 08 Javascript
JavaScript极简入门教程(一):基础篇
Oct 25 Javascript
js中hash和ico的关联分析
Feb 05 Javascript
javascript制作的简单注册模块表单验证
Apr 13 Javascript
javascript实现俄罗斯方块游戏的思路和方法
Apr 27 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
Mar 25 Javascript
JS实现获取剪贴板内容的方法
Jun 21 Javascript
字太多用...代替的方法(两种)
Mar 15 Javascript
Vue.js项目部署到服务器的详细步骤
Jul 17 Javascript
Vue项目webpack打包部署到服务器的实例详解
Jul 17 Javascript
javascript实现Emrips反质数枚举的示例代码
Dec 06 Javascript
全站最详细的Vuex教程
Apr 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
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
JavaScript this调用规则说明
2010/03/08 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
jQuery实现自定义右键菜单的树状菜单效果
2015/09/02 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
vue中引用swiper轮播插件的教程详解
2018/08/16 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
[39:11]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第二局
2016/02/28 DOTA
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
Python多线程编程(三):threading.Thread类的重要函数和方法
2015/04/05 Python
Python中的多重装饰器
2015/04/11 Python
Python 字符串与二进制串的相互转换示例
2018/07/23 Python
Python实现Event回调机制的方法
2019/02/13 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
私有程序集与共享程序集有什么区别
2013/04/05 面试题
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
致400米运动员广播稿
2014/02/07 职场文书
电工工作职责范本
2014/02/22 职场文书
毕业大学生自荐信
2014/06/17 职场文书
模具专业求职信
2014/06/26 职场文书