js煙花效果程式碼例項
分享一段程式碼例項,它實現了煙花效果。
點選頁面會有燃放煙花的效果,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> body { background: black; overflow: hidden; } div { position: absolute; } </style> </head> <body> <script type="text/javascript"> function rgb() { //建立顏色隨機值 var str = Math.ceil(Math.random() * 16777215).toString(16); while (str.length < 6) { str = '0' + str; } return str; } document.onclick = function(event) { var oEvent = event || window.event; var t = oEvent.clientY; var l = oEvent.clientX; var oRdeDiv = document.createElement('div'); //建立一個div oRdeDiv.style.width = '4px'; oRdeDiv.style.height = '30px'; oRdeDiv.style.background = 'red'; document.body.appendChild(oRdeDiv); //向body新增一個div元素 oRdeDiv.style.top = document.documentElement.clientHeight + 'px'; oRdeDiv.style.left = oEvent.clientX + 'px'; //alert(oRdeDiv.offsetTop) var timer = setInterval(function() { //讓建立的這個div從下往上打上來! oRdeDiv.style.top = oRdeDiv.offsetTop - 20 + 'px'; if (oRdeDiv.offsetTop <= t) { clearInterval(timer); document.body.removeChild(oRdeDiv); var i = 0; var aDiv = []; for (var i = 0; i < 50; i++) { //建立多個div var oDiv = document.createElement('div'); oDiv.style.background = '#' + rgb(); oDiv.style.width = '2px'; oDiv.style.height = '2px'; oDiv.style.left = l + 'px'; oDiv.style.top = t + 'px'; document.body.appendChild(oDiv); aDiv.push(oDiv); oDiv.speedX = Math.random() * 20 - 10; //新增一個x軸的速度 oDiv.speedY = Math.random() * 20 - 10; //新增一個y軸的速度 } var newtimer = setInterval(function() { //讓每個div隨機往下掉,以達到煙花效果 var count = 0; for (var i = 0; i < aDiv.length; i++) { if (!aDiv[i]) continue; //當aDiv[i]為空不再進行迴圈操作 aDiv[i].style.left = aDiv[i].offsetLeft + aDiv[i].speedX + 'px'; aDiv[i].style.top = aDiv[i].offsetTop + aDiv[i].speedY + 'px'; aDiv[i].speedY++; //y軸的速度越來越大以便煙花向下掉 var winWidth = document.documentElement.clientWidth || document.body.clientWidth; var winHeight = document.documentElement.clientHeight || document.body.clientHeight; if (aDiv[i].offsetLeft < 0 || aDiv[i].offsetLeft > winWidth || aDiv[i].offsetTop > winHeight) { document.body.removeChild(aDiv[i]); aDiv[i] = null; } count++; } if (count == 0) { //當所有的div小塊掉出螢幕是清除定時器 clearInterval(newtimer); } }, 30) } }, 30) } </script> </body> </html>
相關文章
- canvas實現煙花燃放效果程式碼例項Canvas
- javascript實現的燃放煙火效果程式碼例項JavaScript
- js重力球效果程式碼例項JS
- js鐘錶效果程式碼例項JS
- js秒錶效果程式碼例項JS
- js淡入淡出效果例項程式碼JS
- threejs+vue3實現煙花效果JSVue
- html5煙花效果HTML
- js不重複抽獎效果程式碼例項JS
- js元素上下移動效果程式碼例項JS
- js table隔行變色效果程式碼例項JS
- js簡單日曆效果程式碼例項JS
- js小球拋物線效果程式碼例項JS
- js簡單摺紙效果程式碼例項JS
- js圖片碎片化效果程式碼例項JS
- js元素的震動效果程式碼例項JS
- js左右滑動選項卡效果程式碼例項JS
- js實現的垂直選項卡效果程式碼例項JS
- js圖片淡入淡出效果程式碼例項JS
- js實現刮刮樂抽獎效果程式碼例項JS
- js實現的留言本效果程式碼例項JS
- js實現的div拖動效果例項程式碼JS
- js模擬實現多型效果程式碼例項JS多型
- js實現的元素抖動效果程式碼例項JS
- jQuery 動畫效果程式碼例項jQuery動畫
- css切角效果程式碼例項CSS
- css模糊效果程式碼例項CSS
- canvas火焰效果程式碼例項Canvas
- 春節將至,喜慶的煙花安排上(js實現煙花)JS
- jquery 驗證碼效果程式碼例項jQuery
- js點選div實現閃爍效果程式碼例項JS
- angularjs實現的購物車效果程式碼例項AngularJS
- js物件導向封裝拖動效果程式碼例項JS物件封裝
- js簡單富文字編輯器效果程式碼例項JS
- js字型顏色隨機變化效果程式碼例項JS隨機
- js獲取字串指定位置字元效果程式碼例項JS字串字元
- three.js 3D立方體效果程式碼例項JS3D
- canvas系列三之《煙花》效果實現Canvas