Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
UI
|
输入
|
媒体
|
导航
|
其他
|
网页模板
|
APP模板
|
常用代码
|
在线代码
背景
对话框和灯箱
筛选及排序
反馈
弹出层
悬停
布局
图表
加载
圆边
滚动
标签
文本链接
工具提示
网络类型
拾色器
定制和风格
日期和时间
拖和放
通用输入
自动完成
密码
投票率
搜索
选择框
快捷键
触摸
丰富的输入
上传
验证
音频和视频
幻灯片和轮播图
图片展示
图像
地图
滑块和旋转
Tabs
水平导航
垂直导航
文件树
分页
手风琴菜单
其他导航
动画效果
浏览器调整
移动
独立的部件
杂项
游戏
PROMULGATOR
calico
重庆市
关注作者
(0)
收藏此代码
(113)
← 二十行代码做贪吃蛇
→ css3移动端横向滑动
相关代码
圆形
进度条
js
圆形
进度条
html5svg
圆形
进度条
canvas
圆形
进度条
简单实现
圆形
进度条
canvas
圆形
百分比
进度条
(原创)
加载
进度条
Html
Css
Js
window.onload = function() { var bplList = document.getElementsByTagName("li"); //获取死胖子列表 for (let i = 0; i < bplList.length; i++) { var progress = Number(bplList[i].id); //li的id测试的进度数据 bplCircle(bplList[i].childNodes[0], progress, "canvas" + i); //bplCircle (canvas, int); } //绘制20像素宽的运动外圈 function blueCircle(n) { context.save(); context.strokeStyle = "orange"; //设置描边样式 context.lineWidth = 20; //设置线宽 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.lineWidth = 20; //设置线宽 context.strokeStyle = "#fff"; 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(); } /** * * @param {Object} nowProgress 画到的进度 * @param {Object} canvasDom canvas元素 */ function spzCircle(nowProgress, canvasDom) { var canvas = canvasDom; //获取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度 context.clearRect(0, 0, canvas.width, canvas.height); whiteCircle(); text(nowProgress); blueCircle(nowProgress); } /** * 在循环里面调用 * @param {Object} canvasDom canvas元素 * @param {Object} progress 进度 */ function bplCircle(canvasDom, progress, canvasInterval) { var nowProgress = 0; canvasInterval = setInterval(function() { if (nowProgress == progress) { clearInterval(canvasInterval); } else { nowProgress++; spzCircle(nowProgress, canvasDom); } }, 100); } }
↑上面代码改变,会自动显示代码结果 jQuery调用版本:
1.11.3
立即下载
js圆形进度条
代码描述:canvas绘制圆形进度条
因为懒,用的id做进度(建议使用自定义属性)
1
最新
发表评论
全部评论
暂时没有评论!
陌上千寻
0
2018/1/9 19:29:10
这个可以哦!
回复
登录后才可以评论
30秒后在评论吧!
发表评论
回复
取消回复
<!doctype html> <html> <head> <meta charset="utf-8"> <title>js圆形进度条-jq22.com</title> <script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号