canvas实现简易的圆环进度条效果
更新时间:2017年02月28日 10:01:52 作者:sirius周周
本文主要分享了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 处理HTML元素必须避免使用的一种方法
我们在编写前台页面的时候,可能经常会用到“javascript+数据”生成页面元素的方法,但当我们要处理的数据量较大,导致页面需要展现过多的控件的时候,页面的响应速度也会直线下降2009-07-07
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
这篇文章主要介绍了JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法,涉及JS递归算法操作数组实现排序功能的相关技巧,需要的朋友可以参考下2017-01-01


最新评论