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 相关文章推荐
jQuery 中关于CSS操作部分使用说明
Jun 10 Javascript
JavaScript Perfection kill 测试及答案
Mar 23 Javascript
15 个 JavaScript Web UI 库
May 19 Javascript
JavaScript将相对地址转换为绝对地址示例代码
Jul 19 Javascript
javascript显示用户停留时间的简单实例
Aug 05 Javascript
jQuery文件上传插件Uploadify使用指南
Jun 05 Javascript
JavaScript节点及列表操作实例小结
Aug 05 Javascript
JavaScript实现网站访问次数统计代码
Aug 12 Javascript
AngularJS之页面跳转Route实例代码
Mar 10 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
Jun 05 Javascript
十个免费的web前端开发工具详细整理
Sep 18 Javascript
JS自定义右键菜单实现代码解析
Jul 16 Javascript
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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
PHP多进程简单实例小结
2019/11/09 PHP
XENON基于JSON变种
2010/07/27 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
Python爬取梨视频的示例
2021/01/29 Python
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
机修工岗位职责
2013/11/24 职场文书
优秀社区干部事迹材料
2014/02/03 职场文书
护士进修自我鉴定
2014/02/07 职场文书
公司委托书范本5篇
2014/09/20 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
Redis高可用集群redis-cluster详解
2022/03/20 Redis
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server