本文介绍了利用初级js实现简易烟花爆炸效果的方法,供大家参考,具体分析如下:

实现原理:在一定范围内随机生成若干div,形成焰火效果。

复制代码代码如下所示:







JS烟花效果



文件。onclick=功能(EV)

{

无功oevent = EV | |事件;

VaR艾迪维= { };

无功odiv = null;

无功_odiv = document.createelement('div);

var I=0;

var x = oevent.clientx;

var y = oevent.clienty;

_odiv =绝对的位置。风格;

_odiv。风格。背景=';

_odiv。宽度= '3px风格;

_odiv。高度= '30px风格;

_odiv。风格。左= oevent ClientX + 'px;

_odiv。风格。=文档。文档元素}自己+ 'px;

document.body.appendchild(_odiv);

var t = setInterval(){()函数(

如果(_odiv。offsettop < = y)

{

clearInterval(T);

显示();

document.body.removechild(_odiv);

}

_odiv。风格。最高_odiv offsettop-30 + 'px;

},30);

函数显示()

{

无功odiv = null;

对于(i = 0;i < 100;i +)

{

odiv = document.createelement('div);

ODiv.style.width='3px';

ODiv。高度= '3px风格;

ODiv。风格。背景=# + math.ceil(Math.random()* 0xefffff + 0x0fffff)。ToString(16);

ODiv。风格。位置=绝对的;

ODiv。风格。左= x + 'px;

ODiv。风格上= y + 'px;

var a = Math.random()* 360;

//oDiv.speedX=Math.random () *40-20;

/ / odiv = Math.random()*。快速40-20;

ODiv。Math.sin(Speedx = * 180 /数学。PI)* 20 * Math.random();

ODiv。快速= math.cos(* 180 /数学。PI)* 20 * Math.random();

document.body.appendchild(odiv);

ADiv.push(odiv);

}

}

setInterval(domove,30);

domove()函数

{

为(i = 0;i < adiv.length;i++)

{

艾迪维{我艾迪维}。风格。左= offsetleft艾迪维{我},{我} + Speedx + 'px;

艾迪维{我艾迪维}。风格。顶端艾迪维{ } { }。offsettop +快速+ 'px;

艾迪维{我}快速+ = 1;

如果(艾迪维艾迪维{我}。offsetleftdocument.documentelement.clientwidth {我}。offsettopdocument.documentelement.clientheight | |)

{

document.body.removechild(艾迪维{我});

ADiv.splice(I,1);

}

}

}

};











希望本文能对大家的javascript程序设计有所帮助。