您现在的位置是:网站首页> 编程资料编程资料
canvas实现圆形进度条动画的示例代码HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2021-08-31
881人已围观
简介 这篇文章主要介绍了canvas实现圆形进度条动画的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文介绍了canvas实现圆形进度条动画,分享给大家,具体如下:
先给大家看看效果图,然后在上代码。

进度条动画
1. canvas的HTML部分很简单就一个canvas标签
canvas画布的宽高是自身的属性,要在行间样式设置,若是在style设置宽高会使你画的图片变形。
2.画布的js代码
主要思路:效果图中是由三个圆组成的,最外层是一个有黑边的大圆,里面一个改变进度条进度的圆和一个现实百分比的圆。
注意:每画一个圆都要新建一个图层,这样可以单独设置每个图层的样式,之间不相互影响,就像ps的图层一样,一个完整的设计稿都是很多图层组成的。
var canvas = document.getElementById("mycanvas"); var context = canvas.getContext("2d"); function draw(i){ // 大圆框 context.beginPath(); context.lineWidth = 1; context.arc(50,50,46,0,Math.PI*2); context.strokeStyle = "grey"; context.stroke(); // 大圆 context.beginPath(); var grd = context.createLinearGradient(15,15,80,80); grd.addColorStop(0,"red"); grd.addColorStop(0.5,"yellow"); grd.addColorStop(1,"blue"); context.arc(50,50,38,0,Math.PI*2*(i/100)); context.lineWidth = 16; context.strokeStyle = grd; context.stroke(); // context.fillStyle = grd; // context.fill(); // 小圆 context.beginPath(); context.arc(50,50,30,0,Math.PI*2); context.lineWidth = 1; context.strokeStyle = "grey"; context.stroke(); context.fillStyle = "white"; context.fill(); // 字 context.beginPath(); context.textBaseline = "middle"; context.textAlign = "center"; context.font = "20px Arial"; context.fillStyle = "black"; context.fillText(i+"%",50,50); } 3. 使用计时器来刷新画布,达到进度条的效果
使用context.clearRect()方法来清空画布的
var i = 0; var progress = parseInt(canvas.innerHTML); // console.log(progress); var timer = setInterval(function(){ if(i >= progress){ clearInterval(timer); } context.clearRect(0,0,canvas.width,canvas.height); draw(i); i++; },50);以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- 详解HTML5 录音的踩坑之旅HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能html5录音功能实战示例HTML5录音实践总结(Preact)
- 移动HTML5前端框架—MUI的使用mui几种页面跳转方式对比总结概括
- canvas如何绘制钟表的方法html5中canvas图表实现柱状图的示例基于HTML5 Canvas的3D动态Chart图表的示例
- Html5百叶窗效果的示例代码html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- 详解如何通过H5(浏览器/WebView/其他)唤起本地apphtml5唤起app的方法
- iphoneX 适配客户端H5页面的方法教程有关HTML5页面在iPhoneX适配问题适配iPhone X要点:十分钟快速掌握iPhone X UI界面适配技巧
- 详解H5 活动页之移动端 REM 布局适配方法Html5移动端适配IphoneX等机型的方法rem适配移动设备的方法示例浅谈移动端适配大法详解如何使用image-set适配移动端高清屏图片移动 web 端屏幕适配(rem)html5实现移动端适配完美写法手机端用rem+scss做适配的详解移动端适配 使px自动转换rem
- HTML5 canvas 瀑布流文字效果的示例代码HTML5播放实现rtmp流直播html5用video标签流式加载的实现基于 HTML5 WebGL 实现的医疗物流系统Html5 实现微信分享及自定义内容的流程HTML5移动端手机网站开发流程HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影HTML5梦幻之旅——炫丽的流星雨效果实现过程HTML5 离线应用之打造零请求、无流量网站的解决方法Html5之webcoekt播放JPEG图片流
- 详解html2canvas截图不能截取圆角图片的解决方案HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例HTML5 Canvas自定义圆角矩形与虚线示例代码html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形canvas绘制圆角头像的实现方法
- HTML5 Canvas实现360度全景图的示例代码html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
