纯js烟花效果

<!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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值