JavaScript 实现网页背景烟花特效
作者:闭包旅人时间:2026-10-29 13:20:35浏览:433
本文介绍一种使用 JavaScript 实现的网页背景烟花爆炸特效。该特效配合黑色背景效果最佳,通过简洁的代码生成五颜六色、四散飞溅的烟花动画,适用于前端页面装饰,代码结构清晰易于集成。
JavaScript 网页背景烟花特效实现
本文介绍一种利用 JavaScript 实现网页背景烟花动画效果的具体方案,供开发者参考使用。
该特效通过 JavaScript 代码实现,建议在黑色背景下展示以获得最佳视觉体验。效果呈现为五颜六色的烟花爆炸及四散飞溅的动态,虽然此前已有类似案例,但本方案代码更为精简。
实际运行效果如图所示:

具体实现代码如下:
<html>
<head>
<title>背景的烟花效果</title>
<style type="text/css">
<!--
body {
background-color: #000000;
}
-->
</style></head>
<body>
<script language="JavaScript">
var col = new Array('#ffffff','#fff000','#ffa000','#ff00ff','#00ff00','#0000ff','#ff0000');
var p='<div id="rearDiv" style="position:absolute;top:0px;left:0px">';
var n=0;
for (i=0;i<14;++i){
n++;
if (n=(col.length-1)) n=0;
p=p+'<div style="position:relative;width:1px;height:1px;background:'+col[n]+';font-size:3px">.</div>';
}
p=p+"</div>";
document.write(p);
var Clrs = new Array('ff0000','00ff00','000aff','ff00ff','ffa500','ffff00','00ff00','ffffff','fffff0');
var sClrs = new Array('ffa500','55ff66','AC9DFC','fff000','fffff0');
var peepY;
var peepX;
var step = 5;
var tallyStep = 0;
var backColor = 'ffa000';
var Mtop = 250;
var Mleft = 250;
function dissilient() {
peepY = window.document.body.clientHeight/3;
peepX = window.document.body.clientWidth/8;
enlarge();
tallyStep+= step;
reduce();
T=setTimeout("dissilient()",20);
}
function enlarge(){
for ( i = 0 ; i < rearDiv.all.length ; i++ ) {
var c=Math.round(Math.random()*(Clrs.length-1));
if (tallyStep < 90)
rearDiv.all[i].style.background=backColor;
if (tallyStep > 90)
rearDiv.all[i].style.background=Clrs[c];
rearDiv.all[i].style.top = Mtop + peepY*Math.sin((tallyStep+i*5)/3)*Math.sin(550+tallyStep/100);
rearDiv.all[i].style.left = Mleft + peepY*Math.cos((tallyStep+i*5)/3)*Math.sin(550+tallyStep/100);
}
}
function reduce(){
if (tallyStep == 220) {
tallyStep = -10;
var k=Math.round(Math.random()*(sClrs.length-1));
backColor = sClrs[k];
Dtop = window.document.body.clientHeight - 250;
Dleft = peepX * 3.5;
Mtop = Math.round(Math.random()*Dtop);
Mleft = Math.round(Math.random()*Dleft);
document.all.rearDiv.style.top = Mtop+document.body.scrollTop;
document.all.rearDiv.style.left = Mleft+document.body.scrollLeft;
if ((Mtop < 20) || (Mleft < 20)) {
Mtop += 90;
Mleft += 90;
}
}
}
dissilient();
</script>
</body>
</html>
希望上述内容对 JavaScript 编程实践有所帮助。
作者最新文章
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
