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 相关文章推荐
语义化 H1 标签
Jan 14 Javascript
基于jquery的修改当前TAB显示标题的代码
Dec 11 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
Jun 19 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
May 31 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
Nov 30 Javascript
jQuery实现 上升、下降、删除、添加一行代码
Mar 06 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
vue - props 声明数组和对象操作
Jul 30 Javascript
JavaScript快速调试的两个技巧
Nov 04 Javascript
ES6 十大特性简介
Dec 09 Javascript
前端监听websocket消息并实时弹出(实例代码)
Nov 27 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
图书管理程序(二)
2006/10/09 PHP
安装APACHE
2007/01/15 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
js循环改变div颜色具体方法
2013/06/25 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
2016/12/12 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
Scrapy框架使用的基本知识
2018/10/21 Python
【python】matplotlib动态显示详解
2019/04/11 Python
python数据预处理方式 :数据降维
2020/02/24 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
python判断元素是否存在的实例方法
2020/09/24 Python
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
工商管理专业学生的自我评价
2013/10/01 职场文书
建筑工程自我鉴定
2013/10/18 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
欢迎标语大全
2014/06/21 职场文书
运动会200米广播稿
2015/08/19 职场文书
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android