JS實現(xiàn)網(wǎng)頁煙花動畫效果
更新時間:2020年03月10日 12:31:48 作者:LL-Echo
這篇文章主要為大家詳細介紹了JS實現(xiàn)網(wǎng)頁煙花動畫效果,點擊鼠標(biāo)煙花向四周擴散,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
原生js實現(xiàn)放煙花效果,點擊鼠標(biāo),然后向四周擴散,最后自由落體效果!最簡單的方法實現(xiàn)!
效果圖:

CSS代碼:
*{
padding: 0px;
margin: 0px;
background: #000;
}
.firworks{
width: 6px;
height: 6px;
position: absolute;
}
js代碼:
<script type="text/javascript">
//封裝一個顏色隨機的效果
function randomColor(){
var color = "rgb("
var r = parseInt(Math.random()*256);
var g = parseInt(Math.random()*256);
var b = parseInt(Math.random()*256);
color = color+r+","+g+","+b+")";
return color;
}
//創(chuàng)建一個制造煙花的構(gòu)造函數(shù),第一個參數(shù)為元素,第二參數(shù)為初始x軸位置,第三參數(shù)為y軸位置。
function Fireworks(Div,x,y){
Div.style.backgroundColor=randomColor(); //給煙花添加背景色
Div.className="firworks"; //添加一個class
document.body.appendChild(Div);
Div.style.left=x+"px"; //把鼠標(biāo)點擊坐標(biāo)給div
Div.style.top=y+"px";
var speedX = (parseInt(Math.random()*2) == 0 ? 1 : -1)*parseInt(Math.random()*16 + 1); //三目運算符隨機移動方向,概率50%,為1時往正方向移動,負1時往反方向移動第二個隨機數(shù)隨機速度快慢
var speedY = (parseInt(Math.random()*2) == 0 ? 1 : -1)*parseInt(Math.random()*20 + 1);
this.move=function(){
var i = 3;
var time1=setInterval(function(){
i++;
Div.style.left=Div.offsetLeft+speedX+"px";
Div.style.top=Div.offsetTop+speedY+i+"px"; //當(dāng)i+speedY>0時,煙花朝下運動。
if(Div.offsetLeft+Div.offsetWidth>window.innerWidth|| Div.offsetLeft<2 || Div.offsetTop+Div.offsetHeight>window.innerHeight || Div.offsetTop<2 ){
Div.remove(); //移動出可視區(qū)域記得刪除div和清除定時器
clearInterval(time1);
}
},30);
}
}
document.οnclick=function (e){
var evt=e||window.event; //兼容性處理
for(var i=0;i<80;i++){ //隨機煙花的數(shù)量
var div=document.createElement("div");
var b=new Fireworks(div,evt.pageX,evt.pageY);
b.move();
}
}
</script>
更多JavaScript精彩特效分享給大家:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript Function函數(shù)類型介紹
在JS中,Function(函數(shù))類型實際上是對象;每個函數(shù)都是Function類型的實例;而且都與其他引用類型一樣具有屬性和方法2015-04-04
JavaScript如何實現(xiàn)防止重復(fù)的網(wǎng)絡(luò)請求的示例
這篇文章主要介紹了JavaScript如何實現(xiàn)防止重復(fù)的網(wǎng)絡(luò)請求的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

