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 相关文章推荐
如何用jQuery实现ASP.NET GridView折叠伸展效果
Sep 26 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
Nov 30 Javascript
JavaScript浏览器对象之一Window对象详解
Jun 03 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
Jun 24 Javascript
JS制作图形验证码实现代码
Oct 19 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
Jan 23 Javascript
jQuery遍历节点方法汇总(推荐)
May 13 jQuery
vue的无缝滚动组件vue-seamless-scroll实例
Dec 18 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
Feb 05 Javascript
Vue+Node实现的商城用户管理功能示例
Dec 23 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
Apr 11 Javascript
JavaScript大数相加相乘的实现方法实例
Oct 18 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
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
jQuery.each使用详解
2015/07/07 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
vue实现记事本功能
2019/06/26 Javascript
vue实现拖拽效果
2019/12/23 Javascript
python妙用之编码的转换详解
2017/04/21 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
Python面向对象封装操作案例详解
2019/12/31 Python
Python字典深浅拷贝与循环方式方法详解
2020/02/09 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
2014年后勤工作总结
2014/11/18 职场文书
雷锋的观后感
2015/06/10 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
MySQL注入基础练习
2021/05/30 MySQL
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
Pandas 稀疏数据结构的实现
2021/07/25 Python
基于Redis的List实现特价商品列表功能
2021/08/30 Redis
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL