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 相关文章推荐
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
Javascript基础教程之比较null和undefined值
May 16 Javascript
AngularJS 模块化详解及实例代码
Sep 14 Javascript
利用JS实现页面删除并重新排序功能
Dec 09 Javascript
BootStrap表单宽度设置方法
Mar 10 Javascript
基于Datatables跳转到指定页的简单实例
Nov 09 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
Nov 17 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
Vue多组件仓库开发与发布详解
Feb 28 Javascript
AngularJS动态生成select下拉框的方法实例
Nov 17 Javascript
vant 中van-list的用法说明
Nov 11 Javascript
Vue+Element-U实现分页显示效果
Nov 15 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中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
php判断是否为json格式的方法
2014/03/04 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
学习ExtJS table布局
2009/10/08 Javascript
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
JS实现超简单的仿QQ折叠菜单效果
2015/09/21 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
Preload基础使用方法详解
2020/02/03 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
用python读写excel的方法
2014/11/18 Python
Python制作Windows系统服务
2017/03/25 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
利用Pycharm断点调试Python程序的方法
2018/11/29 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
使用npy转image图像并保存的实例
2020/07/01 Python
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
社区清明节活动总结
2014/07/04 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python