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 相关文章推荐
JavaScript延迟加载
Mar 09 Javascript
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
Oct 25 Javascript
JavaScript this调用规则说明
Mar 08 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
jQuery实现鼠标可拖动调整表格列宽度
May 26 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
Mar 28 Javascript
javascript用函数实现对象的方法
May 14 Javascript
理解javascript中的Function.prototype.bind的方法
Feb 03 Javascript
JS实现图片预加载之无序预加载功能代码
May 12 Javascript
react-native使用leanclound消息推送的方法
Aug 06 Javascript
微信小程序自定义底部导航带跳转功能
Nov 27 Javascript
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
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 和 MySQL 基础教程(二)
2006/10/09 PHP
php中处理模拟rewrite 效果
2006/12/09 PHP
将数组写入txt文件 var_export
2009/04/21 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
Redis构建分布式锁
2017/03/28 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
2016/05/26 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
Python字符串逐字符或逐词反转方法
2015/05/21 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
flask实现验证码并验证功能
2019/12/05 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
师范毕业生个人求职信
2013/12/09 职场文书
项目建议书模板
2014/05/12 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
停水通知
2015/04/16 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB