HTML5 Canvas圆形进度条特效代码下载



16 61 21



特效描述:Canvas圆形进度条,HTML5 Canvas圆形进度条特效代码下载

代码结构

1. HTML代码

<canvas id="canvas" width="500" height="500" style="background:#000;"></canvas>
<script>
	window.onload = function(){
		var canvas = document.getElementById('canvas'),  //获取canvas元素
			context = canvas.getContext('2d'),  //获取画图环境,指明为2d
			centerX = canvas.width/2,   //Canvas中心点x轴坐标
			centerY = canvas.height/2,  //Canvas中心点y轴坐标
			rad = Math.PI*2/100, //将360度分成100份,那么每一份就是rad度
			speed = 0.1; //加载的快慢就靠它了 
		//绘制蓝色外圈
		function blueCircle(n){
			context.save();
			context.strokeStyle = "#fff"; //设置描边样式
			context.lineWidth = 5; //设置线宽
			context.beginPath(); //路径开始
			context.arc(centerX, centerY, 100 , -Math.PI/2, -Math.PI/2 +n*rad, false); //用于绘制圆弧context.arc(x坐标,y坐标,半径,起始角度,终止角度,顺时针/逆时针)
			context.stroke(); //绘制
			context.closePath(); //路径结束
			context.restore();
		}
		//绘制白色外圈
		function whiteCircle(){
			context.save();
			context.beginPath();
			context.strokeStyle = "white";
			context.arc(centerX, centerY, 100 , 0, Math.PI*2, false);
			context.stroke();
			context.closePath();
			context.restore();
		}  
		//百分比文字绘制
		function text(n){
			context.save(); //save和restore可以保证样式属性只运用于该段canvas元素
			context.strokeStyle = "#fff"; //设置描边样式
			context.font = "40px Arial"; //设置字体大小和字体
			//绘制字体,并且指定位置
			context.strokeText(n.toFixed(0)+"%", centerX-25, centerY+10);
			context.stroke(); //执行绘制
			context.restore();
		} 
		//动画循环
		(function drawFrame(){
			window.requestAnimationFrame(drawFrame, canvas);
			context.clearRect(0, 0, canvas.width, canvas.height);
			whiteCircle();
			text(speed);
			blueCircle(speed);
			if(speed > 100) speed = 0;
			speed += 0.1;
		}());
	}
</script>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';color:#ffffff">
</div>



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册


热门标签: 瀑布流 收藏 预览 自适应页面大小 响应式区块列表布局 摇摆 烟花 清单样式 照相机 注释 下划线 结构图 鼠标悬停 条形码 弹幕 画板 朋友圈样式 红包 css绘制样式 支付 图文布局 二维码 地图 计算器 计时器 桌面 跳转 步骤 键盘 签到 分享 点赞 投票 雪花 打印 答题 震动 图表 鼠标滑过 抽奖 表情 qq空间 头像截图 星星打分评分 编辑器 播放器 电子杂志 排行榜 分页翻页 排序 表格隔行变色 table表格 进度条 多功能 滑动星星打分 其他更多

×
×
51前端

注册

官方QQ群
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到