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插件实现模拟alert和confirm
Sep 01 Javascript
jQuery实现精美的多级下拉菜单特效
Mar 14 Javascript
在JavaScript中操作时间之getMonth()方法的使用
Jun 10 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
Jun 19 Javascript
JS中的进制转换以及作用
Jun 26 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
Jul 19 Javascript
JavaScript中日期函数的相关操作知识
Aug 03 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
Jul 25 Javascript
解决Vue不能检测数组或对象变动的问题
Feb 24 Javascript
微信小程序实现多行文字超出部分省略号显示功能
Oct 23 Javascript
JavaScript oncopy事件用法实例解析
May 13 Javascript
在vue中使用console.log无效的解决
Aug 09 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中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
laravel-admin的图片删除实例
2019/09/30 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
2017/05/07 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python装饰器基础详解
2016/03/09 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
python入门教程之识别验证码
2017/03/04 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
模具数控专业自荐信
2014/01/27 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
教导主任个人总结
2015/03/03 职场文书
环保证明
2015/06/23 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
详解PHP Swoole与TCP三次握手
2021/05/27 PHP