电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

js實現煙花特效

瀏覽:107日期:2024-05-23 08:56:59

本文實例為大家分享了js實現煙花特效的具體代碼,供大家參考,具體內容如下

1.概述

在網頁背景中實現鼠標點擊出現模擬煙花爆炸的特效

2.思路

1.獲取鼠標點擊位置,底端創建煙花節點。2.為煙花添加css屬性,煙花節點從下至上運動。3.運動至鼠標位置時移除煙花節點,同時生成多個煙花碎片。4.為不同的煙花碎片隨機生成不同的顏色、運動速度、運動方向。5.煙花碎片超出屏幕顯示部分時移除。

3.代碼部分

<!DOCTYPE html><html lang='en'> <head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title> <style> * { padding: 0; margin: 0; } html, body { width: 100%; height: 100%; background-color: black; overflow: hidden; } </style></head> <body> <script src='http://www.hdgsjgj.cn/bcjs/move.js'></script> <script> class Firework { constructor(x, y) {//x,y鼠標的位置 this.x = x;//將水平位置賦值給this.x屬性。 this.y = y;//將垂直位置賦值給this.y屬性。 this.ch = document.documentElement.clientHeight;//可視區的高度 } init() { //1.創建煙花節點。 this.firebox = document.createElement(’div’); this.firebox.style.cssText = `width:5px;height:5px;background:#fff;position:absolute;left:${this.x}px;top:${this.ch}px;`; document.body.appendChild(this.firebox); this.firemove();//創建完成,直接運動。 } //2.煙花節點運動 firemove() { bufferMove(this.firebox, { top: this.y }, () => { document.body.removeChild(this.firebox); //當煙花節點消失的時候,創建煙花碎片 this.createfires() }); } //3.當前鼠標點擊的位置,隨機產生30-60個盒子。(隨機顏色) createfires() { for (let i = 1; i <= this.rannum(30, 60); i++) { this.fires = document.createElement(’div’); this.fires.style.cssText = `width:5px;height:5px;background:rgb(${this.rannum(0, 255)},${this.rannum(0, 255)},${this.rannum(0, 255)});position:absolute;left:${this.x}px;top:${this.y}px;`; document.body.appendChild(this.fires); this.fireboom(this.fires);//設計成一個一個運動,等到循環結束,出現整體結果。 } } //4.煙花碎片運動。 fireboom(obj) { //存儲當前obj的初始值。 let initx = this.x; let inity = this.y; //隨機產生速度(水平和垂直方向都是隨機的,符號也是隨機的)。 let speedx = parseInt((Math.random() > 0.5 ? ’-’ : ’’) + this.rannum(1, 15)); let speedy = parseInt((Math.random() > 0.5 ? ’-’ : ’’) + this.rannum(1, 15)); obj.timer = setInterval(() => { initx += speedx; inity += speedy++; //模擬重力加速度(垂直方向比水平方向快一些) if (inity >= this.ch) { document.body.removeChild(obj); clearInterval(obj.timer); } obj.style.left = initx + ’px’; obj.style.top = inity + ’px’; }, 1000 / 60); } //隨機區間數 rannum(min, max) { return Math.round(Math.random() * (max - min) + min); } } document.onclick = function (ev) { var ev = ev || window.event; //ev.clientX,ev.clientY//獲取的鼠標的位置 new Firework(ev.clientX, ev.clientY).init(); } </script></body> </html>

4.Move.js

function getStyle(obj, attr) { if (window.getComputedStyle) { return window.getComputedStyle(obj)[attr]; } else { return obj.currentStyle[attr]; }}function bufferMove(obj, json, fn) { let speed = 0; clearInterval(obj.timer); obj.timer = setInterval(function () { var flag = true; for (var attr in json) { var currentValue = null; if (attr === ’opacity’) { currentValue = Math.round(getStyle(obj, attr) * 100); } else { currentValue = parseInt(getStyle(obj, attr)); } speed = (json[attr] - currentValue) / 10; speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); if (currentValue !== json[attr]) { if (attr === ’opacity’) { obj.style.opacity = (currentValue + speed) / 100; obj.style.filter = ’alpha(opacity=’ + (currentValue + speed) + ’)’;//IE } else { obj.style[attr] = currentValue + speed + ’px’; } flag = false; } } if (flag) { clearInterval(obj.timer); fn && typeof fn === ’function’ && fn(); } }, 10);}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 广州印刷厂_广州彩印厂-广州艺彩印务有限公司 | 手机存放柜,超市储物柜,电子储物柜,自动寄存柜,行李寄存柜,自动存包柜,条码存包柜-上海天琪实业有限公司 | 工业硝酸钠,硝酸钠厂家-淄博「文海工贸」 | 超声波流量计_流量标准装置生产厂家 _河南盛天精密测控 | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 雾度仪_雾度计_透光率雾度仪价格-三恩时(3nh)光电雾度仪厂家 | 酒水灌装机-白酒灌装机-酒精果酒酱油醋灌装设备_青州惠联灌装机械 | 打孔器,打孔钳厂家【温州新星德牌五金工具】 | 最新范文网_实用的精品范文美文网| UV固化机_UVLED光固化机_UV干燥机生产厂家-上海冠顶公司专业生产UV固化机设备 | 网架支座@球铰支座@钢结构支座@成品支座厂家@万向滑动支座_桥兴工程橡胶有限公司 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 酒万铺-酒水招商-酒水代理| 湖南教师资格网-湖南教师资格证考试网 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 广东成考网-广东成人高考网 | 高效节能电机_伺服主轴电机_铜转子电机_交流感应伺服电机_图片_型号_江苏智马科技有限公司 | 富森高压水枪-柴油驱动-养殖场高压清洗机-山东龙腾环保科技有限公司 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 智能门锁电机_智能门锁离合器_智能门锁电机厂家-温州劲力智能科技有限公司 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 安徽泰科检测科技有限公司【官方网站】 | 精密模具加工制造 - 富东懿| 聚丙烯酰胺_阴离子_阳离子「用量少」巩义亿腾厂家直销,售后无忧 聚合甘油__盐城市飞龙油脂有限公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 泉州陶瓷pc砖_园林景观砖厂家_石英砖地铺石价格 _福建暴风石英砖 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 厦门ISO认证|厦门ISO9001认证|厦门ISO14001认证|厦门ISO45001认证-艾索咨询专注ISO认证行业 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 |