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 相关文章推荐
在Node.js中实现文件复制的方法和实例
Jun 05 Javascript
Iframe实现跨浏览器自适应高度解决方法
Sep 02 Javascript
javascript字符串循环匹配实例分析
Jul 17 Javascript
Bootstrap每天必学之导航
Nov 26 Javascript
一次$.getJSON不执行的简单记录
Jul 19 Javascript
jQuery表单验证插件解析(推荐)
Jul 21 Javascript
JavaScript中关于iframe滚动条的去除和保留
Nov 17 Javascript
用JavaScript实现让浏览器停止载入页面的方法
Jan 19 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
Jul 24 Javascript
微信小程序嵌入腾讯视频源过程详解
Aug 08 Javascript
element-ui如何防止重复提交的方法步骤
Dec 09 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
2017/03/01 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
js canvas实现星空连线背景特效
2019/11/01 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
利用python获得时间的实例说明
2013/03/25 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
2019/10/25 Python
python类中super() 的使用解析
2019/12/19 Python
如何基于python操作json文件获取内容
2019/12/24 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
Python __slots__的使用方法
2020/11/15 Python
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
公司培训欢迎词
2014/01/10 职场文书
心理健康活动总结
2014/04/30 职场文书
股东授权委托书范文
2014/09/13 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
办公室规章制度范本
2015/08/04 职场文书
小学大队干部竞选稿
2015/11/20 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python