<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>circle</title>
</head>
<body>
<canvas id='myCanvas' width="292" height="292"></canvas> <script>
// 绘制圆
function drawCircleFn(totalReward) {
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx.lineWidth = 24;
ctx.lineCap = 'round';
if(totalReward){
ctx.strokeStyle = '#0FCC9E';
circleAnimateFn(ctx);
}else{
ctx.strokeStyle = '#f2f2f2';
circleNoAnimateFn(ctx);
}
} // 绘制灰色圆
function circleNoAnimateFn(ctx) {
let startAngle = 3 / 2 * Math.PI; //开始位置弧度
let percentage = 10;
let diffAngle = percentage / 100 * Math.PI * 2; //完成进度弧度值
ctx.beginPath();
ctx.arc(146, 146, 132, startAngle, diffAngle + startAngle, true);
ctx.stroke();
} // 绘制动画圆
function circleAnimateFn(ctx) {
let startAngle = 3 / 2 * Math.PI; //开始位置弧度
let percentage = 100; //完成进度值 100 - 10
let endcentage = 10;
let diffAngle = percentage / 100 * Math.PI * 2; //完成进度弧度值
let intervalFn = setInterval(function(){
if(percentage <= endcentage){
clearInterval(intervalFn);
percentage = endcentage;
}else{
percentage = percentage - 5;
diffAngle = percentage / 100 * Math.PI * 2;
ctx.beginPath();
ctx.arc(146, 146, 132, startAngle, diffAngle + startAngle, true);
ctx.stroke();
}
}, 15)
} drawCircleFn();
</script>
</body>
</html>

最新文章

  1. Deep Residual Learning
  2. DOMContentLoaded实现
  3. jquery 序列化
  4. QT 第三方串口库COM10以上无法读取问题
  5. NYOJ 536 开心的mdd(DP)
  6. The Amazing ProgressBar Control(转)
  7. PHP实现单例模式
  8. [PWA] Enable Push Notification in your web app
  9. 10款超酷实用的jQuery焦点图赏析及源码
  10. POJ 2388
  11. 字符串解码DecodeString
  12. 说说Java代理模式
  13. BeautifulSoup4库
  14. [模板] BSGS/扩展BSGS
  15. 雷林鹏分享:Laravel 安装
  16. web语言发展史
  17. redis安装--集群
  18. 前端解析websocket数据问题
  19. 前端js 省市联动
  20. (转)MYSQL远程登录权限设置

热门文章

  1. PHP mbstring通过多字节字符串扩展处理中文查找、计算问题
  2. 利用单臂路由实现vlan间路由
  3. ztree节点名称排序
  4. 任务调度之Quartz.Net基础
  5. 在linux上cuda9.0 cudnn7.* 安装python3.6 tensorflow 1.5.1
  6. [转帖]再谈IO的异步,同步,阻塞和非阻塞
  7. todo---git 生成密钥 原理分析
  8. 第五章 模块之 logging、copy、re
  9. 在uboot里面添加环境变量使用run来执行
  10. javascript Ajax 学习