本文实例讲述了原生Js实现简易烟花爆炸效果的方法。分享给大家供大家参考。具体分析如下:
实现原理: 在一定范围内,随机生成一些div,形成烟花效果
复制代码 代码如下:<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>js烟花效果</title>
<script type="text/javascript">
document.onclick=function (ev)
{
var oEvent=ev||event;
var aDiv=[];
var oDiv=null;
var _oDiv=document.createElement('div');
var i=0;
var x=oEvent.clientX;
var y=oEvent.clientY;
_oDiv.style.position='absolute';
_oDiv.style.background='red';
_oDiv.style.width='3px';
_oDiv.style.height='30px';
_oDiv.style.left=oEvent.clientX+'px';
_oDiv.style.top=document.documentElement.clientHeight+'px';
document.body.appendChild(_oDiv);
var t=setInterval(function (){
if(_oDiv.offsetTop<=y)
{
clearInterval(t);
show();
document.body.removeChild(_oDiv);
}
_oDiv.style.top=_oDiv.offsetTop-30+'px';
}, 30);
function show()
{
var oDiv=null;
for(i=0;i<100;i++)
{
oDiv=document.createElement('div');
oDiv.style.width='3px';
oDiv.style.height='3px';
oDiv.style.background='#'+Math.ceil(Math.random()*0xEFFFFF+0x0FFFFF).toString(16);
oDiv.style.position='absolute';
oDiv.style.left=x+'px';
oDiv.style.top=y+'px';
var a=Math.random()*360;
//oDiv.speedX=Math.random()*40-20;
//oDiv.speedY=Math.random()*40-20;
oDiv.speedX=Math.sin(a*180/Math.PI)*20*Math.random();
oDiv.speedY=Math.cos(a*180/Math.PI)*20*Math.random();
document.body.appendChild(oDiv);
aDiv.push(oDiv);
}
}
setInterval(doMove, 30);
function doMove()
{
for(i=0;i<aDiv.length;i++)
{
aDiv[i].style.left=aDiv[i].offsetLeft+aDiv[i].speedX+'px';
aDiv[i].style.top=aDiv[i].offsetTop+aDiv[i].speedY+'px';
aDiv[i].speedY+=1;
if(aDiv[i].offsetLeft<0 || aDiv[i].offsetLeft>document.documentElement.clientWidth || aDiv[i].offsetTop<0 || aDiv[i].offsetTop>document.documentElement.clientHeight)
{
document.body.removeChild(aDiv[i]);
aDiv.splice(i, 1);
}
}
}
};
</script>
</head>
<body style="overflow:hidden; background:black;">
</body>
</html>
希望本文所述对大家的javascript程序设计有所帮助。
Js,简易,烟花爆炸,效果,方法
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。