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实现画板的代码
Sep 05 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
Nov 22 Javascript
css+js实现部分区域高亮可编辑遮罩层
Mar 04 Javascript
jquery检测input checked 控件是否被选中的方法
Mar 26 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
Apr 11 Javascript
JavaScript输入框字数实时统计更新
Jun 17 Javascript
JavaScript设计模式之单例模式简单实例教程
Jul 02 Javascript
详解如何用webpack4从零开始构建react开发环境
Jan 27 Javascript
vue路由教程之静态路由
Sep 03 Javascript
js实现图片上传即时显示效果
Sep 30 Javascript
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
特转载一高手总结PHP学习资源和链接.
2006/12/05 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
php生成圆角图片的方法
2015/04/07 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
python 调用HBase的简单实例
2016/12/18 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
经典广告词大全
2014/03/14 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
Android studio 简单计算器的编写
2022/05/20 Java/Android