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 相关文章推荐
破解Session cookie的方法
Jul 28 Javascript
jQuery网页版打砖块小游戏源码分享
Aug 20 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
jQuery双向列表选择器select版
Nov 01 Javascript
javascript实现二叉树遍历的代码
Jun 08 Javascript
vue父组件点击触发子组件事件的实例讲解
Feb 08 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
Aug 31 Javascript
新手快速上手webpack4打包工具的使用详解
Jan 28 Javascript
webpack4 从零学习常用配置(小结)
May 28 Javascript
小程序实现录音上传功能
Nov 22 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
Jul 27 Javascript
js实现简易点击切换显示或隐藏
Nov 29 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
为百度UE编辑器上传图片添加水印功能
2015/04/16 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
小程序接入腾讯位置服务的详细流程
2020/03/03 Javascript
详解Python开发中如何使用Hook技巧
2017/11/01 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
django配置app中的静态文件步骤
2020/03/27 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
css3学习心得分享
2013/08/19 HTML / CSS
PHP面试题附答案
2015/11/28 面试题
Linux中如何用命令创建目录
2015/01/12 面试题
新闻记者实习自我鉴定
2013/09/19 职场文书
房地产出纳岗位职责
2013/12/01 职场文书
会议开场欢迎词
2014/01/15 职场文书
一年级班主任寄语
2014/01/19 职场文书
班级活动策划书
2014/02/06 职场文书
2014司机年终工作总结
2014/12/05 职场文书
小学数学教学反思范文
2016/02/16 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
Django显示可视化图表的实践
2021/05/10 Python
Redis分布式锁的7种实现
2022/04/01 Redis
Python OpenCV之常用滤波器使用详解
2022/04/07 Python