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 判断滚动条到达了底部和顶端的方法
Apr 02 Javascript
JavaScript数据类型详解
Apr 01 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
Apr 07 Javascript
jQuery Ajax 全局调用封装实例代码详解
Jun 02 Javascript
14 个折磨人的 JavaScript 面试题
Aug 08 Javascript
关于json字符串与实体之间的严格验证代码
Nov 10 Javascript
Angularjs中使用轮播图指令swiper
May 30 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
Jun 12 Javascript
详解VUE 数组更新
Dec 16 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
Aug 09 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
JavaScript 获取滚动条位置并将页面滑动到锚点
Feb 08 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 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
php格式化json函数示例代码
2016/05/12 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
在tensorflow中实现屏蔽输出的log信息
2020/02/04 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
日本最大的购物网站:日本乐天市场(Rakuten Ichiba)
2020/11/04 全球购物
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
保安员岗位职责
2013/11/17 职场文书
文明城市创建标语
2014/06/16 职场文书
本科生自荐信
2014/06/18 职场文书
纪念九一八事变演讲稿1000字
2014/09/14 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
活动总结书怎么写
2015/05/11 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
安全主题班会教案
2015/08/12 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL