JS实现网页烟花动画效果


Posted in Javascript onMarch 10, 2020

原生js实现放烟花效果,点击鼠标,然后向四周扩散,最后自由落体效果!最简单的方法实现!

效果图:

JS实现网页烟花动画效果

CSS代码:

*{
 padding: 0px;
 margin: 0px;
 background: #000;
 }
 .firworks{
 width: 6px;
 height: 6px;
 position: absolute;
 }

js代码:

<script type="text/javascript">
//封装一个颜色随机的效果
 function randomColor(){
 var color = "rgb("
 var r = parseInt(Math.random()*256);
 var g = parseInt(Math.random()*256);
 var b = parseInt(Math.random()*256);
 color = color+r+","+g+","+b+")";
 return color; 
 }
//创建一个制造烟花的构造函数,第一个参数为元素,第二参数为初始x轴位置,第三参数为y轴位置。
 function Fireworks(Div,x,y){ 
 Div.style.backgroundColor=randomColor(); //给烟花添加背景色
 Div.className="firworks"; //添加一个class
 document.body.appendChild(Div);
 Div.style.left=x+"px"; //把鼠标点击坐标给div
 Div.style.top=y+"px";
 var speedX = (parseInt(Math.random()*2) == 0 ? 1 : -1)*parseInt(Math.random()*16 + 1); //三目运算符随机移动方向,概率50%,为1时往正方向移动,负1时往反方向移动第二个随机数随机速度快慢
 var speedY = (parseInt(Math.random()*2) == 0 ? 1 : -1)*parseInt(Math.random()*20 + 1);
 this.move=function(){
 var i = 3;
 var time1=setInterval(function(){
 i++;
 Div.style.left=Div.offsetLeft+speedX+"px"; 
 Div.style.top=Div.offsetTop+speedY+i+"px"; //当i+speedY>0时,烟花朝下运动。
 if(Div.offsetLeft+Div.offsetWidth>window.innerWidth|| Div.offsetLeft<2 || Div.offsetTop+Div.offsetHeight>window.innerHeight || Div.offsetTop<2 ){
 Div.remove(); //移动出可视区域记得删除div和清除定时器
 clearInterval(time1);
 }
 },30);
 } 
 }
document.οnclick=function (e){
 var evt=e||window.event; //兼容性处理
 for(var i=0;i<80;i++){ //随机烟花的数量
 var div=document.createElement("div");
 var b=new Fireworks(div,evt.pageX,evt.pageY);
 b.move();
 }
}
</script>

更多JavaScript精彩特效分享给大家:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS实现在Repeater控件中创建可隐藏区域的代码
Sep 16 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
Sep 14 Javascript
Javascript根据指定下标或对象删除数组元素
Dec 21 Javascript
javascript仿php的print_r函数输出json数据
Sep 13 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
Jan 14 Javascript
jQuery选择器全集详解
Nov 24 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
Aug 09 Javascript
使用JS 插件qrcode.js生成二维码功能
Feb 20 Javascript
重新理解JavaScript的六种继承方式
Mar 24 Javascript
vue todo-list组件发布到npm上的方法
Apr 04 Javascript
微信小程序全局变量改变监听的实现方法
Jul 15 Javascript
JQuery发送ajax请求时中文乱码问题解决
Nov 14 jQuery
keep-alive不能缓存多层级路由菜单问题解决
Mar 10 #Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
Mar 10 #Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
Mar 10 #Javascript
Vue项目打包压缩的实现(让页面更快响应)
Mar 10 #Javascript
vue实现瀑布流组件滑动加载更多
Mar 10 #Javascript
JavaScript代理模式原理与用法实例详解
Mar 10 #Javascript
JavaScript命令模式原理与用法实例详解
Mar 10 #Javascript
You might like
php截取后台登陆密码的代码
2012/05/05 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
JS记录用户登录次数实现代码
2014/01/15 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
基于python编写的微博应用
2014/10/17 Python
Python队列的定义与使用方法示例
2017/06/24 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
python读取中文txt文本的方法
2018/04/12 Python
django url到views参数传递的实例
2019/07/19 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
2014年上半年工作自我评价
2014/01/18 职场文书
安全责任书范文
2014/03/12 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
骨干教师考核评语
2014/12/31 职场文书
大学生入党自荐书
2015/03/05 职场文书
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript