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 load Page,load css,load js实现代码
Mar 31 Javascript
PHP 与 js的通信(via ajax,json)
Nov 16 Javascript
来自国外的页面JavaScript文件优化
Dec 08 Javascript
JS回调函数的应用简单实例
Sep 17 Javascript
js实现仿Discuz文本框弹出层效果
Aug 13 Javascript
javascript中html字符串转化为jquery dom对象的方法
Aug 27 Javascript
js强制把网址设为默认首页
Sep 29 Javascript
leaflet的开发入门教程
Nov 17 Javascript
Vue 2.x教程之基础API
Mar 06 Javascript
AngularJS实现注册表单验证功能
Oct 16 Javascript
Spring Boot/VUE中路由传递参数的实现代码
Mar 02 Javascript
详细聊聊浏览器是如何看闭包的
Nov 11 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边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
理解PHP5中static和const关键字的区别
2007/03/19 PHP
用php过滤危险html代码的函数
2008/07/22 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
Javascript实现的分页函数
2006/12/22 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
Javascript随机标签云代码实例
2016/06/21 Javascript
input框中的name和id的区别
2016/11/16 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
Vue实现购物车场景下的应用
2017/11/27 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
使用axios请求时,发送formData请求的示例
2019/10/29 Javascript
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
Python with语句用法原理详解
2020/07/03 Python
Python自动登录QQ的实现示例
2020/08/28 Python
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
办公室经理岗位职责
2014/01/01 职场文书
上级检查欢迎词
2014/01/18 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
防汛工作情况汇报
2014/10/28 职场文书
公司欠款证明
2015/06/24 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
妇产科护理心得体会
2016/01/22 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL