JS實(shí)現(xiàn)網(wǎng)頁(yè)煙花動(dòng)畫(huà)效果
原生js實(shí)現(xiàn)放煙花效果,點(diǎn)擊鼠標(biāo),然后向四周擴(kuò)散,最后自由落體效果!最簡(jiǎn)單的方法實(shí)現(xiàn)!
效果圖:

CSS代碼:
*{
padding: 0px;
margin: 0px;
background: #000;
}
.firworks{
width: 6px;
height: 6px;
position: absolute;
}
js代碼:
<script type="text/javascript">
//封裝一個(gè)顏色隨機(jī)的效果
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è)制造煙花的構(gòu)造函數(shù),第一個(gè)參數(shù)為元素,第二參數(shù)為初始x軸位置,第三參數(shù)為y軸位置。
function Fireworks(Div,x,y){
Div.style.backgroundColor=randomColor(); //給煙花添加背景色
Div.className="firworks"; //添加一個(gè)class
document.body.appendChild(Div);
Div.style.left=x+"px"; //把鼠標(biāo)點(diǎn)擊坐標(biāo)給div
Div.style.top=y+"px";
var speedX = (parseInt(Math.random()*2) == 0 ? 1 : -1)*parseInt(Math.random()*16 + 1); //三目運(yùn)算符隨機(jī)移動(dòng)方向,概率50%,為1時(shí)往正方向移動(dòng),負(fù)1時(shí)往反方向移動(dòng)第二個(gè)隨機(jī)數(shù)隨機(jī)速度快慢
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時(shí),煙花朝下運(yùn)動(dòng)。
if(Div.offsetLeft+Div.offsetWidth>window.innerWidth|| Div.offsetLeft<2 || Div.offsetTop+Div.offsetHeight>window.innerHeight || Div.offsetTop<2 ){
Div.remove(); //移動(dòng)出可視區(qū)域記得刪除div和清除定時(shí)器
clearInterval(time1);
}
},30);
}
}
document.οnclick=function (e){
var evt=e||window.event; //兼容性處理
for(var i=0;i<80;i++){ //隨機(jī)煙花的數(shù)量
var div=document.createElement("div");
var b=new Fireworks(div,evt.pageX,evt.pageY);
b.move();
}
}
</script>
更多JavaScript精彩特效分享給大家:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript實(shí)現(xiàn)煙花綻放動(dòng)畫(huà)效果
- 原生JS實(shí)現(xiàn)煙花效果
- JS實(shí)現(xiàn)放煙花效果
- JS實(shí)現(xiàn)煙花爆炸效果
- javascript實(shí)現(xiàn)網(wǎng)頁(yè)背景煙花效果的方法
- JS基于面向?qū)ο髮?shí)現(xiàn)的放煙花效果
- 原生Js實(shí)現(xiàn)簡(jiǎn)易煙花爆炸效果的方法
- JS煙花背景效果實(shí)現(xiàn)方法
- JS實(shí)現(xiàn)超炫網(wǎng)頁(yè)煙花動(dòng)畫(huà)效果的方法
- js實(shí)現(xiàn)炫酷的煙花效果
相關(guān)文章
微信小程序自定義彈窗滾動(dòng)與頁(yè)面滾動(dòng)沖突的解決方法
這篇文章主要為大家詳細(xì)介紹了微信小程序自定義彈窗滾動(dòng)與頁(yè)面滾動(dòng)沖突的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
服務(wù)器安全設(shè)置的幾個(gè)注冊(cè)表設(shè)置
服務(wù)器安全設(shè)置的幾個(gè)注冊(cè)表設(shè)置...2007-07-07
JavaScript Function函數(shù)類型介紹
在JS中,Function(函數(shù))類型實(shí)際上是對(duì)象;每個(gè)函數(shù)都是Function類型的實(shí)例;而且都與其他引用類型一樣具有屬性和方法2015-04-04
JavaScript如何實(shí)現(xiàn)防止重復(fù)的網(wǎng)絡(luò)請(qǐng)求的示例
這篇文章主要介紹了JavaScript如何實(shí)現(xiàn)防止重復(fù)的網(wǎng)絡(luò)請(qǐng)求的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
如何在js中計(jì)算兩個(gè)時(shí)間段重疊的時(shí)長(zhǎng)問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于如何在js中計(jì)算兩個(gè)時(shí)間段重疊的時(shí)長(zhǎng)問(wèn)題的相關(guān)資料,判斷兩個(gè)時(shí)間段是否重疊可以通過(guò)比較兩個(gè)時(shí)間段的開(kāi)始時(shí)間和結(jié)束時(shí)間來(lái)實(shí)現(xiàn),文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04

