这个案例模拟瀑布流水的效果,有点类似喷泉,粒子模拟的水滴会一层一层的下落,很是漂亮。

效果看上去很是炫酷,代码并不是很多,几十行代码搞定,同志们直接复制运行就可以查看效果。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>瀑布流水</title><style type="text/css">html,body {margin: 0;padding: 0;overflow: hidden;}</style>
</head><body><canvas id="canvas"></canvas><script src="https://code.jquery.com/jquery-3.2.1.min.js"></script><script type="text/javascript">var canvas = document.getElementById('canvas'),c = canvas.getContext("2d"),particles = {},particleIndex = 0,particleNum = 50,gravity = 0.7;// full screencanvas.width = window.innerWidth;canvas.height = window.innerHeight;// particlefunction Particle() {this.posX = canvas.width / 2; // position Xthis.posY = canvas.height / 8; // position Ythis.vx = Math.random() * 10 - 5; // velocity Xthis.vy = Math.random() * 10 - 5; // velocity Ythis.width = 1; // particle widththis.height = Math.random() * 6 - 3; // particle heightparticleIndex++;particles[particleIndex] = this;this.id = particleIndex;this.life = 0;this.death = 140;//random colorthis.colors = ["rgba(100, 100, 100," + (Math.random() + .5) + ")","rgba(52, 152, 200," + (Math.random() + .5) + ")","rgba(41, 128, 250," + (Math.random() + .5) + ")"];this.color = this.colors[Math.floor(Math.random() * 3)];}// drawParticle.prototype.draw = function() {this.posX += this.vx;this.posY += this.vy;this.life++;if (this.life >= this.death) {delete particles[this.id];}if (this.posY > (canvas.height - 5)) {this.vx *= 0.8;this.vy *= -0.5;this.posY = (canvas.height - 5);}this.vy += gravity;c.fillStyle = this.color;c.fillRect(this.posX, this.posY, this.width, this.height);}setInterval(function() {c.fillStyle = "rgba(0,0,0,0.4)";c.fillRect(0, 0, canvas.width, canvas.height);for (var i = 0; i < particleNum; i++) {new Particle();}for (var i in particles) {particles[i].draw();}}, 30);</script>
</body></html>

H5炫酷特效系列3——瀑布流水特效相关推荐

  1. html生日快乐爆开烟花,css3+H5炫酷喜庆全屏烟花动画特效

    css3+H5炫酷喜庆全屏烟花动画特效 /* basic styles for black background and crosshair cursor */ body { background: ...

  2. onenote 模板_onenote实用?炫酷功能系列篇②:用插件让效率翻倍

    对我而言,onenote作为office系列的一员,最大的遗憾就是--竟然不支持VBA!office如此强大的一个通用神器,在onenote这里竟然直接被砍了.好在还有个替代品--Onetastic, ...

  3. jQuery和CSS3炫酷滚动页面内容元素动画特效

    jquery-smoove是一款jQuery和CSS3炫酷滚动页面内容元素动画特效插件.该内容元素动画插件在页面滚动到指定位置时,该位置的HTML元素会执行指定的CSS3动画特效,如旋转.翻转.放大缩 ...

  4. css3特效框,科技常识:6种非常炫酷的CSS3按钮边框动画特效

    今天小编跟大家讲解下有关6种非常炫酷的CSS3按钮边框动画特效 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关6种非常炫酷的CSS3按钮边框动画特效 的相关资料,希望小伙伴们看了有所帮助. ...

  5. html的悬停图片圆形,css3炫酷圆形图片鼠标滑过特效

    这是一款纯css3炫酷圆形图片鼠标滑过特效插件.在插件中,所有的缩略图都被用css3 border-radius制作成圆形,然后再在其上做各种鼠标滑过特效. HTML 所有demo的html结构都如下 ...

  6. html5中如何让一个动画框左右上下浮动,HTML5 SVG如何实现炫酷checkbox复选框动画特效...

    简要教程 这是一款HTML5 SVG炫酷checkbox复选框动画特效.该checkbox动画特效使用svg来构建复选框效果,然后通过CSS3动画来控制复选框的选中和取消选中状态,效果非常炫酷. 使用 ...

  7. html 边框立体效果,用纯CSS3制作的效果非常炫酷的元素边框线条动画特效

    插件描述:这是一款使用纯CSS3制作的效果非常炫酷的元素边框线条动画特效.这个元素边框线条动画使用伪元素和keyframes来制作线条运动效果. 这是一款使用纯CSS3制作的效果非常炫酷的元素边框线条 ...

  8. 炫酷感科技感旋转vuejsjs特效

    下载地址 炫酷感科技感旋转vuejs特效,3d效果的科技感网页特效. dd:

  9. AE赛博朋克 超炫酷赛博朋克HUD元素动画AE特效模板素材

    AE赛博朋克  超级炫酷赛博朋克HUD元素动画AE特效模板素材 Cyber​​punk HUD Elements 想必您已经听说了赛博朋克吧?!如果您不知道我们在说什么,只需Google下即可.那么, ...

最新文章

  1. 用软碟通制作的U盘安装Linux教程
  2. 购买使用vps建站(3)
  3. UIGestureRecognizer与UIButton Action在同一界面冲突的问题
  4. 三国轶事——巴蜀之危
  5. 快速幂、矩阵快速幂、快速乘法
  6. java caffe 验证码_Caffe深度学习 验证码识别 机器学习
  7. cocos2dx 3.0研究(1)-- hello world程序
  8. JS、PHP、Python等五大编程语言爆漏洞;中兴 70 后程序员坠亡;雷军平定迅雷内乱 | 一周业界事
  9. 报名啦!旷视研究院解读COCO 2017物体检测夺冠算法 | 吃瓜社
  10. 如何使用 Buildah 构建容器镜像
  11. ASP.NET XML Web 服务的应用程序集成
  12. linux搭建雷霆传奇h5源码,【雷霆传奇H5服务端】2020.07最新超好看大羽翼传奇网页游戏程序[附超详尽构建实例教程]...
  13. Linux服务器下安装ANSYS
  14. 蓝桥杯(李白喝酒Java)
  15. 额外的类路径(Additional Class Paths)
  16. SQL 一条SQL语句 统计 各班总人数、男女各总人数 、该班级男女 比例
  17. Jquery+SpringMVC实现上传Excel文件,并批量导入
  18. WEB:Wife_wife
  19. 存储服务器系统本身密码忘了,云主机系统密码忘记
  20. 2020清华大学计算机学院黄翔,清华大学计算机科学与技术系2020—2021学年度学生会主席候选人名单公示...

热门文章

  1. python的numpy库结构_NumPy构成了数据科学领域中许多Python库的基础。
  2. s7-300 400plc应用技术_西门子S7300/400顺序功能图设计教程,看完豁然开朗!
  3. 彻底搞懂 python 中文乱码问题_Python BeautifulSoup中文乱码问题的2种解决方法
  4. python牛顿法解非线性方程组_萌新请教牛顿法求解三元非线性方程组
  5. Ubuntu IP设置为静态
  6. 【AD】AD19/20笔记及快捷键
  7. ROS : 修改ROS源代码(overlaying package)
  8. JDK1.8的新特性详解
  9. 凝思系统机器名怎么查看_机器视觉系统|工业零件生产效率和检测效率不匹配怎么办?...
  10. 【JAVA SE】第三章 运算符、条件语句、switch结构、while循环、do…while循环、for循环、break关键字以及break和continue关键字