Canvas实现动态的雪花效果


Posted in Javascript onFebruary 13, 2017

效果如下:

Canvas实现动态的雪花效果

代码如下:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>Canvas</title>
 <style type="text/css">
 *{
 margin: 0;
 padding: 0;
 }
 html, body{
 height: 100%;
 }
 #myCanvas{
 background-color: #87CEEB;
 }
 </style>
</head>
<body>
 <canvas id="myCanvas" width="1000" height="600">您的浏览器不支持Canvas元素</canvas>
 <script type="text/javascript">
 var canvas = document.getElementById("myCanvas");
 var context = canvas.getContext("2d");
 var practicles = [];
 for (var i = 0; i < 500; i++) {//循环生成500粒
 practicles.push({
 x: Math.random()*(window.innerWidth),
 y: Math.random()*(window.innerHeight),
 vx: Math.random()-0.5,
 vy: Math.random()+0.5,
 size: Math.random()*3+1,
 color: "#FFF"
 })
 }
 function timeUpdate(){
 context.clearRect(0,0,window.innerWidth,window.innerHeight);//清除画布区域
 var practicle;
 for (var i = 0; i < 500; i++) {
 var practicle = practicles[i];
 practicle.x += practicles[i].vx;
 practicle.y += practicles[i].vy;
 if (practicle.x<0) {practicle.x=window.innerWidth}
 if (practicle.x>window.innerWidth) {practicle.x=0}
 if (practicle.y>window.innerHeight) {practicle.y=0}
 context.beginPath();
 context.arc(practicle.x,practicle.y,practicle.size,0,Math.PI*2)
 context.closePath();
 context.fillStyle = practicle.color;
 context.fill();
 }
 }
 setInterval(timeUpdate,40);
 </script>
</body>
</html>

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

Javascript 相关文章推荐
通过jquery实现tab标签浏览效果
Feb 20 Javascript
javascript实现的listview效果
Apr 28 Javascript
设置下载不需要倒计时cookie(倒计时代码)
Nov 19 Javascript
Jquery图片滚动与幻灯片的实例代码
Apr 08 Javascript
用IE重起计算机或者关机的示例代码
Mar 10 Javascript
node.js集成百度UE编辑器
Feb 05 Javascript
javascript作用域链(Scope Chain)用法实例解析
Nov 30 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
vue使用jsonp抓取qq音乐数据的方法
Jun 21 Javascript
javascript数据类型中的一些小知识点(推荐)
Apr 18 Javascript
关于引入vue.js 文件的知识点总结
Jan 28 Javascript
Js视频播放器插件Video.js使用方法详解
Feb 04 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
Feb 13 #Javascript
Bootstrap选项卡学习笔记分享
Feb 13 #Javascript
jQuery Ajax全解析
Feb 13 #Javascript
jQuery中 bind的用法简单介绍
Feb 13 #Javascript
jquery实现轮播图效果
Feb 13 #Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
Feb 13 #Javascript
利用Javascript实现简单的转盘抽奖
Feb 13 #Javascript
You might like
菜鸟修复电子管记
2021/03/02 无线电
php删除数组元素示例分享
2014/02/17 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
layui分页效果实现代码
2017/05/19 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
Python实现图片滑动式验证识别方法
2017/11/09 Python
PyQt5实现拖放功能
2018/04/25 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
python groupby 函数 as_index详解
2019/12/16 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
中文专业学生自我评价范文
2014/02/06 职场文书
大学生作弊检讨书
2014/02/19 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android