JavaScript 实现绚丽烟花动画特效

作者:页面旅途

时间:2026-10-23

浏览:202

本文详细介绍如何使用原生 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 动态时钟特效汇总

以上就是本文的全部内容,希望能为您的学习提供有益帮助,也欢迎大家继续支持本站获取更多资源。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章