溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JS如何實現(xiàn)網(wǎng)頁煙花動畫效果

發(fā)布時間:2021-04-19 09:49:16 來源:億速云 閱讀:275 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)JS如何實現(xiàn)網(wǎng)頁煙花動畫效果,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

效果圖:

JS如何實現(xiàn)網(wǎng)頁煙花動畫效果

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)點擊坐標(biāo)給div
 Div.style.top=y+"px";
 var speedX = (parseInt(Math.random()*2) == 0 ? 1 : -1)*parseInt(Math.random()*16 + 1); //三目運算符隨機(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時,煙花朝下運動。
 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>

關(guān)于“JS如何實現(xiàn)網(wǎng)頁煙花動畫效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI