JavaScript+html5 canvas制作的圆中圆效果实例


Posted in Javascript onJanuary 27, 2016

本文实例讲述了JavaScript+html5 canvas制作的圆中圆效果。分享给大家供大家参考,具体如下:

运行效果截图如下:

JavaScript+html5 canvas制作的圆中圆效果实例

具体代码如下:

<!DOCTYPE html>
<html>
 <head>
  <title>demo</title>
  <style type="text/css">
   #canvas {
    background:#F2F2F2; height:500px; height:500px; margin-top:100px; margin-left:200px;
   }
  </style>
 </head>
 <body>
  <canvas id="canvas" width="500px" height="500px" ></canvas>
 </body>
 <script type="text/javascript">
  (function() {
    var dyl = {};
    dyl.getDom = function(id) {
        return document.getElementById(id);
    }
    dyl.getContext = function(canvasID) {
        var canvas = this.getDom(canvasID);
        if(!canvas) {
            return null;
        }
        return canvas.getContext("2d");
    }
    if(!window.dyl) {
        window.dyl = dyl;
    }
  })();
  cache = {};
  cache.context = dyl.getContext('canvas');
  // 每个圈的圆个数控制
  cache.scaleNmb = 6;
  cache.createColor = function() {
   var color = "rgb(";
   color += Math.round(Math.random()*255);
   color += ",";
   color += Math.round(Math.random()*255);
   color += ",";
   color += Math.round(Math.random()*255);
   color += ")";
   return color;
  };
  cache.draw = function() {
   cache.context.fillRect(-10, -10, 20, 20);
   for(var i=1; i<10; i++) { 
    cache.context.save();
    for(var j=0; j<cache.scaleNmb*i; j++) {
     cache.context.rotate(Math.PI*2/(cache.scaleNmb*i));
     cache.context.fillStyle = cache.createColor();
     cache.context.beginPath();
     cache.context.arc(0, 20*i, 5, 0,Math.PI*2, true);
     cache.context.closePath();
     cache.context.fill();
    }
    cache.context.restore();
   }
  };
  cache.init = function() {
   cache.context.translate(250, 250);
   cache.draw();
  };
  cache.init();
 </script>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js过滤HTML标签以及空格的思路及代码
May 24 Javascript
JS可以控制样式的名称写法一览
Jan 16 Javascript
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
Feb 13 Javascript
javascript中var的重要性分析
Feb 11 Javascript
JavaScript实现页面跳转的方式汇总
May 16 Javascript
利用js的闭包原理做对象封装及调用方法
Apr 07 Javascript
react-redux中connect()方法详细解析
May 27 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
Aug 22 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
Feb 19 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
Feb 04 Javascript
vue实现带过渡效果的下拉菜单功能
Feb 19 Javascript
使用TS来编写express服务器的方法步骤
Oct 29 Javascript
jQuery ajax分页插件实例代码
Jan 27 #Javascript
JavaScript+html5 canvas绘制的小人效果
Jan 27 #Javascript
jquery ajax分页插件的简单实现
Jan 27 #Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
Jan 27 #Javascript
APP中javascript+css3实现下拉刷新效果
Jan 27 #Javascript
jQuery EasyUi实战教程之布局篇
Jan 26 #Javascript
jQuery Easyui实现左右布局
Jan 26 #Javascript
You might like
PHP获取网卡地址的代码
2008/04/09 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
PHP会话控制实例分析
2016/12/24 PHP
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python基础教程之面向对象的一些概念
2014/08/29 Python
python求众数问题实例
2014/09/26 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python生成随机红包的实例写法
2019/09/02 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
Python输出指定字符串的方法
2020/02/06 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
创意活动策划书
2014/01/15 职场文书
辩论赛主持词
2014/03/18 职场文书
生日主持词
2014/03/20 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
英文道歉信
2015/01/20 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers