canvas  html5load1

主要思路update  实现12个点的绘制和旋转效果

                var update = function() {
ctx.save();// 把当前绘图状态保存起来
ctx.clearRect(0, 0, 128, 128);// 擦除画布
ctx.translate(64, 64);// 把坐标原点移到画布中央
base = (++base === 13) ? (base - 12) : base;// 使用base来指示最大的圆点所在的位置,对应起点的12个位置,实现旋转动画的效果
var angle = Math.PI / 6;// 画12个点,所以每个点之间的角度是1/6 PI
var beginAngle = angle * base;
for ( var i = 1; i <= 12; i++) {
ctx.beginPath();// 开始一个路径
if (i === 1) {
ctx.rotate(beginAngle);
} else {
ctx.rotate(angle);// 每次调用rotate之后,其旋转角度并不会还原,而是接着上一次的
}
ctx.arc(0, -48, i * 0.8 + 1, 0, 2 * Math.PI, true);// 绘制一个圆点
ctx.closePath();// 闭合路径
ctx.fill();
}
ctx.restore();// 还原绘图状态,如果不还原,则下一次调用roatate时会接着这次的位置旋转,而不是初始位置
}

  

demon https://github.com/breakfriday/loadingDemo

最新文章

  1. 【原创】新手入门一篇就够:从零开发移动端IM
  2. bzoj4511:[Usaco2016 Jan]Subsequences Summing to Sevens
  3. ASP.NET MVC的TextBoxFor()和TextBox()
  4. IOS的MVC
  5. 虚拟桌面基础架构(VDI)与终端服务和传统PC对比
  6. CSS+JS下拉菜单和纯CSS下拉菜单
  7. jdbc 获取connection 对象的三种方式
  8. 关于DB2死锁处理
  9. 学习总结------用JDBC连接MySQL
  10. Java调度线程池ScheduledThreadPoolExecutor源码分析
  11. spring的父子容器
  12. mysql Access denied for user \&#39;root\&#39;@\&#39;localhost\&#39;” 本人解决方案:
  13. OpenStack—neutron组件介绍与安装
  14. [Swift]LeetCode201. 数字范围按位与 | Bitwise AND of Numbers Range
  15. python爬取猫眼电影top100
  16. call,apply,bind——js权威指南函数属性和方法章节读书笔记
  17. linux 文件处理命令
  18. Laravel5.7 跨域解决
  19. react中跨域请求天气预报接口数据
  20. arcgisengine实现矩形转面

热门文章

  1. 更改python的编码问题:UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xe6 in position 56: ordinal not in range(128)
  2. xcode8 info.plist文件中的各种权限。
  3. 1 javascript 核心语言笔记
  4. django上传图片
  5. linux学习笔记-前篇
  6. SQLite 创建自增长标识列
  7. 畅通工程[HDU1863]
  8. Predicate&lt;T&gt;与Func&lt;T, bool&gt;泛型委托
  9. css样式
  10. SqlServer操作大全