JavaScript 实现绚丽烟花动画特效
作者:页面旅途时间:2026-10-23 16:28:48浏览:203
本文详细介绍如何使用原生 JavaScript 实现一个视觉效果出色的烟花动画。通过 HTML5 Canvas 或 DOM 元素模拟粒子爆炸、重力下落及颜色渐变效果,代码包含完整的初始化逻辑、动画循环及交互控制,适合前端开发者学习粒子动画原理与性能优化技巧。
JavaScript 烟花动画实现原理
本文分享了一段利用 JavaScript 编写的精美烟花动画实现代码,供读者参考学习。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>烟花</title>
<style type="text/css">
div>div{
width:10px;
height:10px;
border-radius: 50%;
position: absolute;
top:900px;
left:600px;
background-color: red;
}
</style>
</head>
<body>
<div id="box"><div id="start"></div></div>
</body>
<script type="text/javascript">
var sta = 800;
var staa = 8;
var startid = setInterval(function (){
start.style.top = (sta-=staa)+"px";
staa -=0.06;
if(staa<=0.5){
clearInterval(startid);
start.style.display="none";
za();
}
},10);
var g = 0.01;
var lv = 0;
var times = 0;
var opa =1;
function za(){
addiv();
var s2 = setInterval(function(){
lv+=g;
for(var i=0;i<200;i++){
var elem = document.getElementById("d"+i);
elem.style.left = (arrl[i]+=(arrv[i]*Math.cos(arrr[i])))+"px";
elem.style.top = (arrt[i]+=(arrv[i]*Math.sin(arrr[i])+lv))+"px";
elem.style.opacity= (opa-=0.00001);
if(arrv[i]>0)
arrv[i]-=0.001;
else arrv[i]=0;
}
if(times++>=1000) clearInterval(s2);
},10);
}
var arrr = [];
var arrl = [];
var arrt = [];
var arrv = [];
var arro = []
function addiv(){
for(var i=0;i<200;i++){
box.innerHTML+="<div id='d"+i+"'></div>"
arrl[i]=600;
arrt[i]=sta;
arrv[i]=Math.random()*2+0.1;
arrr[i]=Math.random()*Math.PI*2;
}
}
</script>
</html>
相关 JavaScript 特效资源推荐
此外,还推荐了其他一些优秀的 JavaScript 特效案例供您探索:
JavaScript 菜单交互特效合集
JavaScript 仿 QQ 界面特效汇总
JavaScript 动态时钟特效汇总
以上就是本文的全部内容,希望能为您的学习提供有益帮助,也欢迎大家继续支持本站获取更多资源。
作者最新文章
JS监听滚动事件:回到顶部按钮的显示与隐藏逻辑
2026-11-05 16:19:37
JavaScript怎么读写LocalStorage与SessionStorage
2026-11-05 15:40:11
anime.js 与 GSAP 对比:轻量级项目该怎么选择动画库
2026-11-05 11:24:55
flv.js 与 hls.js 在直播场景下的选型对比
2026-11-05 08:18:52
JavaScript能做什么?前端开发中的作用与应用场景解析
2026-11-04 23:17:54
