canvas圆环进度条,圆形进度条动画怎么做
本文介绍了帆布实现圆形进度条动画,分享给大家,具体如下:
先给大家看看效果图,然后在上代码。
进度条动画
1. canvas的HTML部分很简单就一个canvas标签
帆布画布的宽高是自身的属性,要在行间样式设置,若是在风格设置宽高会使你画的图片变形。
画布id=我的画布宽度= 100 高度= 100 70%/canvas2.画布的js代码
主要思路:效果图中是由三个圆组成的,最外层是一个有黑边的大圆,里面一个改变进度条进度的圆和一个现实百分比的圆。
注意:每画一个圆都要新建一个图层,这样可以单独设置每个图层的样式,之间不相互影响,就像著名图象处理软件的图层一样,一个完整的设计稿都是很多图层组成的。
var canvas=文档。getelementbyid(我的画布);var context=画布。获取上下文(“2d”);函数绘制(一){//大圆框语境。begin path();语境。线宽=1;上下文弧(50,50,46,0,数学.* 2);context . stroke style= grey context。笔画();//大圆语境。begin path();var grd=上下文。createlanegradient(15,15,80,80);grd.addColorStop(0, red );grd.addColorStop(0.5英尺黄色);grd.addColorStop(1, blue );上下文弧(50,50,38,0,数学* 2 *(I/100));context . line width=16 context . stroke style=grd context。笔画();//上下文。填充样式=grd//上下文。fill();//小圆语境。begin path();上下文弧(50,50,30,0,数学.* 2);语境。线宽=1;context . stroke style= grey context。笔画();context . fill style= white context。fill();//字语境。begin path();context . text baseline= middle context . textalign= center context . font= 20px arial context . fill style= black context . fill text(I % ,50,50);}3. 使用计时器来刷新画布,达到进度条的效果
使用context.clearRect()方法来清空画布的
var I=0;var progress=parse int(canvas。innerhtml);//console.log(进度);var timer=setInterval(function(){ if(I=progress){ clear interval(timer);}context.clearRect(0,0,canvas.width,canvas。身高);画(一);我;},50);以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。