JS實(shí)現(xiàn)網(wǎng)頁煙花動畫效果
更新時間:2020年03月10日 12:31:48 作者:LL-Echo
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)網(wǎng)頁煙花動畫效果,點(diǎn)擊鼠標(biāo)煙花向四周擴(kuò)散,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
原生js實(shí)現(xiàn)放煙花效果,點(diǎn)擊鼠標(biāo),然后向四周擴(kuò)散,最后自由落體效果!最簡單的方法實(shí)現(xiàn)!
效果圖:
CSS代碼:
*{ padding: 0px; margin: 0px; background: #000; } .firworks{ width: 6px; height: 6px; position: absolute; }
js代碼:
<script type="text/javascript"> //封裝一個顏色隨機(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ò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)點(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ī)移動方向,概率50%,為1時往正方向移動,負(fù)1時往反方向移動第二個隨機(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時,煙花朝下運(yùn)動。 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++){ //隨機(jī)煙花的數(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í)際上是對象;每個函數(shù)都是Function類型的實(shí)例;而且都與其他引用類型一樣具有屬性和方法2015-04-04JavaScript如何實(shí)現(xiàn)防止重復(fù)的網(wǎng)絡(luò)請求的示例
這篇文章主要介紹了JavaScript如何實(shí)現(xiàn)防止重復(fù)的網(wǎng)絡(luò)請求的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01