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 getElementsByClassName实现代码
Oct 11 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
May 07 Javascript
jquery用data方法获取某个元素上的事件
Jun 23 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
Jun 30 Javascript
javascript数组操作方法小结和3个属性详细介绍
Jul 05 Javascript
一个字符串反转函数可实现字符串倒序
Sep 15 Javascript
浅谈jQuery构造函数分析
May 11 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
Nov 30 Javascript
jQuery.uploadify文件上传组件实例讲解
Sep 23 Javascript
Vue 过渡实现轮播图效果
Mar 27 Javascript
js中getter和setter用法实例分析
Aug 14 Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 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 XMLWriter类的简单示例代码(RSS输出)
2011/09/30 PHP
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
JavaScript 数组some()和filter()的用法及区别
2016/05/20 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
原生JS实现九宫格抽奖
2020/09/13 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
Python流程控制 if else实现解析
2019/09/02 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
基于python3的socket聊天编程
2020/02/17 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
python 实现有道翻译功能
2021/02/26 Python
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
宿舍打麻将检讨书
2014/01/24 职场文书
程序员求职信
2014/04/16 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫
Python实现聚类K-means算法详解
2022/07/15 Python