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>
相關文章
- jQuery tab選項卡效果程式碼例項jQuery
- canvas載入效果程式碼例項Canvas
- CSS橢圓效果程式碼例項CSS
- 美化滾動條效果程式碼例項
- canvas原型鐘錶效果程式碼例項Canvas原型
- css3水滴效果程式碼例項CSSS3
- css背景虛化效果程式碼例項CSS
- canvas氣泡上浮效果程式碼例項Canvas
- 實現一個煙花效果
- jQuery點選滑出層效果程式碼例項jQuery
- css3晃動效果程式碼例項CSSS3
- CSS3心形效果程式碼例項CSSS3
- div前後翻轉效果程式碼例項
- 當前文字框高亮效果程式碼例項
- CSS3旋轉效果程式碼例項CSSS3
- 淡入淡出效果簡單程式碼例項
- canvas繪製箭頭效果程式碼例項Canvas
- JS 預編譯程式碼例項分析JS編譯
- CSS3滑過光束效果程式碼例項CSSS3
- CSS3小黃人效果程式碼例項CSSS3
- css3折角效果程式碼例項CSSS3
- CSS3梯形效果程式碼例項CSSS3
- CSS3背景漸變效果程式碼例項CSSS3
- CSS3星系運動效果程式碼例項CSSS3
- threejs+vue3實現煙花效果JSVue
- jquery.idTabs.min.js選項卡程式碼例項jQueryJS
- 春節將至,喜慶的煙花安排上(js實現煙花)JS
- 商品搶購倒數計時效果程式碼例項
- CSS3文字凹凸效果程式碼例項CSSS3
- html實現簡單ListViews效果的例項程式碼HTMLView
- CSS3文字陰影效果程式碼例項CSSS3
- jQuery記住使用者名稱和密碼效果程式碼例項jQuery密碼
- dom操作程式碼例項
- css梯形程式碼例項CSS
- 棒呆!如何用css3實現煙花綻放效果CSSS3
- 還在用canvas畫格子嗎?文字煙花效果更不錯噢Canvas
- js 實現程式碼雨效果JS
- JavaScript in運算子程式碼例項JavaScript
- 設計模式例項程式碼設計模式