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 相关文章推荐
js 实现无缝滚动 兼容IE和FF
Jul 15 Javascript
IE本地存储userdata的一个bug说明
Jul 01 Javascript
js获取当前路径的简单示例代码
Jan 08 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
Mar 04 Javascript
JavaScript基础——使用Canvas绘图
Nov 02 Javascript
JavaScript ES6中CLASS的使用详解
Nov 22 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
微信小程序 引用其他js文件实现代码
Feb 22 Javascript
vue.js中过滤器的使用教程
Jun 08 Javascript
js插件实现图片滑动验证码
Sep 29 Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 Javascript
VSCode配置react开发环境的步骤
Dec 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
php sprintf()函数让你的sql操作更安全
2008/07/23 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
python字符串string的内置方法实例详解
2018/05/14 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
python列表推导式入门学习解析
2019/12/02 Python
Python作用域与名字空间原理详解
2020/03/21 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
调解协议书
2014/04/16 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
学校师德师风整改措施
2014/10/27 职场文书
辞职离别感言
2015/08/04 职场文书
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python
Python中的socket网络模块介绍
2022/07/23 Python