canvas绘制万花筒效果(代码分享)

 更新时间:2017年01月20日 15:12:01   作者:web卿年  
本文主要分享了canvas绘制万花筒效果的示例代码。具有一定的参考价值,下面跟着小编一起来看下吧

话不多说,请看代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>万花筒</title>
<style>
canvas{
 background:#eee;
 }
</style>
<script>
window.onload = function(){
 var canvas = document.getElementById("canvas");
 var cobj = canvas.getContext("2d");
 var arr = [];
 var t=setInterval(function(){
  cobj.clearRect(0,0,600,600);
   for(var i=0;i<arr.length;i++){
  cobj.save();
  cobj.translate(300,300);
  cobj.scale(arr[i].scales,arr[i].scales);
  cobj.rotate(arr[i].angle*Math.PI/180);
  cobj.fillStyle = arr[i].color;
  cobj.fillRect(arr[i].num,arr[i].num,30,30);
  cobj.restore();
 }
 },50);
 setInterval(function(){
  for(var i=0;i<arr.length;i++){
    if(arr[i].num<=0){
   arr.splice(i,1);
   continue;
  }
  arr[i].angle+=2;
  arr[i].num-=0.2;
  arr[i].scales-=0.002;
  if(arr[i].scales<=0.2){
   arr[i].scales=0.2;
   }
  }
  },50);
 setInterval(function(){
  var rect = {angle:0,num:150,scales:1,color:"rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+")"};
  arr.push(rect);
  },600);
 }
</script>
</head>
<body>
<canvas width="600" height="600" id="canvas"></canvas>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • js兼容火狐获取图片宽和高的方法

    js兼容火狐获取图片宽和高的方法

    这篇文章主要介绍了js兼容火狐获取图片宽和高的方法,涉及javascript图片操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • JavaScript基于扩展String实现替换字符串中index处字符的方法

    JavaScript基于扩展String实现替换字符串中index处字符的方法

    这篇文章主要介绍了JavaScript基于扩展String实现替换字符串中index处字符的方法,涉及javascript使用substr方法针对字符串进行替换操作的相关实现技巧,需要的朋友可以参考下
    2017-06-06
  • JS中实现简单Formatter函数示例代码

    JS中实现简单Formatter函数示例代码

    JS没有提供方便使用的Formatter函数,用字符拼接的方式看起来混乱难读,下面是JS简单实现版本(没有严格测试)
    2014-08-08
  • Openlayers实现测量功能

    Openlayers实现测量功能

    这篇文章主要为大家详细介绍了Openlayers实现测量功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • js实现select二级联动下拉菜单

    js实现select二级联动下拉菜单

    这个是简单也是最基本的下拉框联动的示例,这个示例主要针对那些只有二级联动,且第一级是固定的选项,第二级的内容也比较简单,不刷新的联动,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • JavaScript使用performance实现查看内存

    JavaScript使用performance实现查看内存

    这篇文章主要为大家详细介绍了JavaScript如何使用performance实现查看内存,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • Javascript中的window.event.keyCode使用介绍

    Javascript中的window.event.keyCode使用介绍

    我们之前发过不少关于event.keyCode相关的文章,大家都可以参考下。
    2011-04-04
  • JavaScript判断两个值相等的方法详解

    JavaScript判断两个值相等的方法详解

    在 JavaScript 中如何判断两个值相等,这个问题看起来非常简单,但并非如此,在 JavaScript 中存在 4 种不同的相等逻辑,如果你不知道他们的区别,或者认为判断相等非常简单,本文就来为大家详细讲讲
    2022-07-07
  • JavaScript实现文字展开和收起效果

    JavaScript实现文字展开和收起效果

    这篇文章主要为大家详细介绍了JavaScript实现文字展开和收起效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • JS响应鼠标点击实现两个滑块区间拖动效果

    JS响应鼠标点击实现两个滑块区间拖动效果

    这篇文章主要介绍了JS实现的两个滑块区间拖动效果代码,涉及JavaScript响应鼠标事件针对页面元素的动态操作技巧,需要的朋友可以参考下
    2015-10-10

最新评论