除夕跨年烟花特效[原创]

这是一个纯javascript除夕跨年烟花特效
体验入口:除夕跨年烟花
开源地址:
https://gitee.com/Hauiteut/Spanning2022
烨拓科讯技术团队/Spanning2022开源

效果图:

展示部分核心js代码

function Loading() {let Loading = document.querySelector(".loader");let Main = document.querySelector(".front-page");setTimeout(function () {Loading.classList.add("hidden");Main.classList.remove("hidden")}, 2000);
}Loading();window.onload = function starttime() {// time(TimeChange, '2023/1/22 00:00:00');time(TimeChange, '2023/1/7 12:00:00');ptimer = setTimeout(starttime, 1000);
}let pjkk = 0;
function time(obj, futimg) {var nowtimehh = new Date().getTime();var futruetimehh = new Date(futimg).getTime();var msechh = futruetimehh - nowtimehh;var timehh = (msechh / 1000);var dayhh = parseInt(timehh / 86400);var hourhh = parseInt(timehh / 3600) - 24 * dayhh;var minutehh = parseInt(timehh % 3600 / 60);var secondhh = parseInt(timehh % 60);obj.innerHTML = "Now距离<span BLUE>除夕零点钟声</span>还有:<br />" +"<span BLUE>" + dayhh + "</span>" + "<span YELLOW>天</span>" +"<span BLUE>" + hourhh + "</span>" + "<span YELLOW>时</span>" +"<span BLUE>" + minutehh + "</span>" + "<span YELLOW>分</span>" +"<span BLUE>" + secondhh + "</span>" + "<span YELLOW>秒</span>"var daojishi = document.createElement("audio");daojishi.src = "https://project.hvril.cn/.idea/4.mp3";daojishi.addEventListener("canplaythrough", function () {console.log("BGM1.ready = 'true'")
}, false);let DaoJiShi = document.getElementById("daojishimain");if(dayhh == 0 && hourhh == 0 && minutehh == 0 && secondhh ==10){audio.volume = 0.2;daojishi.play();DaoJiShi.style.display = "block"}if(dayhh <= 0 && hourhh <= 0 && minutehh <= 0 && secondhh <=0){location.href="./firework/index.html"}
}console.log(pjkk);let buttonun = 0;let FrontPage = document.querySelector("#box-shadow");
let FrontPageContent = document.querySelector(".front-page-content");
let FrontPageContentTime = document.querySelector(".front-page-content-time");
function FunctionFrontPageToHidden() {FrontPage.classList.add("hidden-animation");FrontPage.classList.add("hidden");FrontPageContent.classList.add("go-top");FrontPageContent.style.height = "40px";FrontPageContentTime.classList.add("go-top-zero")FrontPageContentTime.style.height = "40px";buttonun = 1;var disabledElement = document.getElementById('Body'); disabledElement.removeAttribute('onclick'); if (key == 0 && buttonun == 1) {audio.play();setTimeout(function () {StartTyping();}, 2000);} else {console.log("Start Error")return false;}
}var audio = document.createElement("audio");
audio.src = "https://project.hvril.cn/.idea/2.mp3";
audio.loop = true;
audio.addEventListener("canplaythrough", function () {console.log("BGM.ready = 'true'")
}, false);let key = 0;function StartTyping() {class Typing {constructor(opts) {this.opts = opts || {};this.source = opts.source;this.output = opts.output;this.delay = opts.delay || 1;this.chain = {parent: null,dom: this.output,val: []};if (!(typeof this.opts.done === 'function')) this.opts.done = function () {};}init() {this.chain.val = this.convert(this.source, this.chain.val);}convert(dom, arr) {let children = Array.from(dom.childNodes)for (let i = 0; i < children.length; i++) {let node = children[i]if (node.nodeType === 3) {arr = arr.concat(node.nodeValue.split(''))} else if (node.nodeType === 1) {let val = []val = this.convert(node, val)arr.push({'dom': node,'val': val})}}return arr}print(dom, val, callback) {setTimeout(function () {dom.appendChild(document.createTextNode(val));callback();}, this.delay);}play(ele) {if (!ele.val.length) {if (ele.parent) this.play(ele.parent);else this.opts.done();return;}let current = ele.val.shift()if (typeof current === 'string') {this.print(ele.dom, current, () => {this.play(ele);})} else {let dom = current.dom.cloneNode()ele.dom.appendChild(dom)this.play({parent: ele,dom,val: current.val})}}start() {this.init();this.play(this.chain);}}let source = document.getElementById('source')let output = document.getElementById('output')let typing = new Typing({source,output})typing.start()key = 1;
}var canvas = document.createElement("canvas"),c = canvas.getContext("2d");
var w = canvas.width = window.innerWidth,h = canvas.height = window.innerHeight;particles = {},particleIndex = 0,particleNum = 30;document.body.appendChild(canvas);
function particle() {this.x = Math.random() * canvas.width;this.y = Math.random() * canvas.height/3+h*2/3-100;this.vx = Math.random() * 10 - 5;this.vy = Math.random() * 10 - 5;this.gravity = 0.3;particleIndex++;particles[particleIndex] = this;this.id = particleIndex;this.life = 0;this.maxLife = Math.random() * 90;this.shadeR = Math.floor(Math.random() * 255+150) + 50;this.shadeG = Math.floor(Math.random() * 150) + 50;this.shadeB = Math.floor(Math.random() * 0);this.color = 'rgba(' + this.shadeR + ',' + this.shadeG + ',' + this.shadeB + ',' + Math.random() * 0.7 + ')';this.size = Math.random() * 3;
}
particle.prototype.draw = function() {this.x += this.vx;this.y += this.vy;if (Math.random() < 0.1) {this.vx = Math.random() * 10 - 5;this.vy = -2;}this.life++;if (this.life >= this.maxLife) {delete particles[this.id];}c.beginPath();c.arc(this.x, this.y, this.size, 0, 2 * Math.PI, false);c.fillStyle = this.color;c.fill();
};function drawParticle() {c.clearRect(0, 0,w,h);for (var i = 0; i < particleNum; i++) {new particle();}for (var i in particles) {particles[i].draw();}
}window.requestAnimFrame = (function() {return window.requestAnimationFrame ||window.webkitRequestAnimationFrame ||window.mozRequestAnimationFrame ||window.oRequestAnimationFrame ||window.msRequestAnimationFrame ||function(callback) {window.setTimeout(callback, 1000 / 60);};
})();function loop() {window.requestAnimFrame(loop);drawParticle();
}loop();
function initVars(){pi=Math.PI;ctx=canvas.getContext("2d");canvas.width=canvas.clientWidth;canvas.height=canvas.clientHeight;cx=canvas.width/2;cy=canvas.height/2;playerZ=-25;playerX=playerY=playerVX=playerVY=playerVZ=pitch=yaw=pitchV=yawV=0;scale=600;seedTimer=0;seedInterval=5,seedLife=100;gravity=.02;seeds=new Array();sparkPics=new Array();s="https://cantelope.org/NYE/";for(i=1;i<=10;++i){sparkPic=new Image();sparkPic.src=s+"spark"+i+".png";sparkPics.push(sparkPic);}sparks=new Array();pow1=new Audio(s+"pow1.ogg");pow2=new Audio(s+"pow2.ogg");pow3=new Audio(s+"pow3.ogg");pow4=new Audio(s+"pow4.ogg");frames = 0;}function rasterizePoint(x,y,z){var p,d;x-=playerX;y-=playerY;z-=playerZ;p=Math.atan2(x,z);d=Math.sqrt(x*x+z*z);x=Math.sin(p-yaw)*d;z=Math.cos(p-yaw)*d;p=Math.atan2(y,z);d=Math.sqrt(y*y+z*z);y=Math.sin(p-pitch)*d;z=Math.cos(p-pitch)*d;var rx1=-1000,ry1=1,rx2=1000,ry2=1,rx3=0,ry3=0,rx4=x,ry4=z,uc=(ry4-ry3)*(rx2-rx1)-(rx4-rx3)*(ry2-ry1);if(!uc) return {x:0,y:0,d:-1};var ua=((rx4-rx3)*(ry1-ry3)-(ry4-ry3)*(rx1-rx3))/uc;var ub=((rx2-rx1)*(ry1-ry3)-(ry2-ry1)*(rx1-rx3))/uc;if(!z)z=.000000001;if(ua>0&&ua<1&&ub>0&&ub<1){return {x:cx+(rx1+ua*(rx2-rx1))*scale,y:cy+y/z*scale,d:Math.sqrt(x*x+y*y+z*z)};}else{return {x:cx+(rx1+ua*(rx2-rx1))*scale,y:cy+y/z*scale,d:-1};}}function spawnSeed(){seed=new Object();seed.x=-50+Math.random()*100;seed.y=25;seed.z=-50+Math.random()*100;seed.vx=.1-Math.random()*.2;seed.vy=-1.5;//*(1+Math.random()/2);seed.vz=.1-Math.random()*.2;seed.born=frames;seeds.push(seed);}function splode(x,y,z){t=5+parseInt(Math.random()*150);sparkV=1+Math.random()*2.5;type=parseInt(Math.random()*3);switch(type){case 0:pic1=parseInt(Math.random()*10);break;case 1:pic1=parseInt(Math.random()*10);do{ pic2=parseInt(Math.random()*10); }while(pic2==pic1);break;case 2:pic1=parseInt(Math.random()*10);do{ pic2=parseInt(Math.random()*10); }while(pic2==pic1);do{ pic3=parseInt(Math.random()*10); }while(pic3==pic1 || pic3==pic2);break;}for(m=1;m<t;++m){spark=new Object();spark.x=x; spark.y=y; spark.z=z;p1=pi*2*Math.random();p2=pi*Math.random();v=sparkV*(1+Math.random()/6)spark.vx=Math.sin(p1)*Math.sin(p2)*v;spark.vz=Math.cos(p1)*Math.sin(p2)*v;spark.vy=Math.cos(p2)*v;switch(type){case 0: spark.img=sparkPics[pic1]; break;case 1:spark.img=sparkPics[parseInt(Math.random()*2)?pic1:pic2];break;case 2:switch(parseInt(Math.random()*3)){case 0: spark.img=sparkPics[pic1]; break;case 1: spark.img=sparkPics[pic2]; break;case 2: spark.img=sparkPics[pic3]; break;}break;}spark.radius=25+Math.random()*50;spark.alpha=1;spark.trail=new Array();sparks.push(spark);}switch(parseInt(Math.random()*4)){case 0:   pow=new Audio(s+"pow1.ogg"); break;case 1:  pow=new Audio(s+"pow2.ogg"); break;case 2:  pow=new Audio(s+"pow3.ogg"); break;case 3:  pow=new Audio(s+"pow4.ogg"); break;}d=Math.sqrt((x-playerX)*(x-playerX)+(y-playerY)*(y-playerY)+(z-playerZ)*(z-playerZ));pow.volume=1.5/(1+d/10);pow.play();}function doLogic(){if(seedTimer<frames){seedTimer=frames+seedInterval*Math.random()*10;spawnSeed();}for(i=0;i<seeds.length;++i){seeds[i].vy+=gravity;seeds[i].x+=seeds[i].vx;seeds[i].y+=seeds[i].vy;seeds[i].z+=seeds[i].vz;if(frames-seeds[i].born>seedLife){splode(seeds[i].x,seeds[i].y,seeds[i].z);seeds.splice(i,1);}}for(i=0;i<sparks.length;++i){if(sparks[i].alpha>0 && sparks[i].radius>5){sparks[i].alpha-=.01;sparks[i].radius/=1.02;sparks[i].vy+=gravity;point=new Object();point.x=sparks[i].x;point.y=sparks[i].y;point.z=sparks[i].z;if(sparks[i].trail.length){x=sparks[i].trail[sparks[i].trail.length-1].x;y=sparks[i].trail[sparks[i].trail.length-1].y;z=sparks[i].trail[sparks[i].trail.length-1].z;d=((point.x-x)*(point.x-x)+(point.y-y)*(point.y-y)+(point.z-z)*(point.z-z));if(d>9){sparks[i].trail.push(point);}}else{sparks[i].trail.push(point);}if(sparks[i].trail.length>5)sparks[i].trail.splice(0,1);             sparks[i].x+=sparks[i].vx;sparks[i].y+=sparks[i].vy;sparks[i].z+=sparks[i].vz;sparks[i].vx/=1.075;sparks[i].vy/=1.075;sparks[i].vz/=1.075;}else{sparks.splice(i,1);}}p=Math.atan2(playerX,playerZ);d=Math.sqrt(playerX*playerX+playerZ*playerZ);d+=Math.sin(frames/80)/1.25;t=Math.sin(frames/200)/40;playerX=Math.sin(p+t)*d;playerZ=Math.cos(p+t)*d;yaw=pi+p+t;}function rgb(col){var r = parseInt((.5+Math.sin(col)*.5)*16);var g = parseInt((.5+Math.cos(col)*.5)*16);var b = parseInt((.5-Math.sin(col)*.5)*16);return "#"+r.toString(16)+g.toString(16)+b.toString(16);}function draw(){ctx.clearRect(0,0,cx*2,cy*2);ctx.fillStyle="#ff8";for(i=-100;i<100;i+=3){for(j=-100;j<100;j+=4){x=i;z=j;y=25;point=rasterizePoint(x,y,z);if(point.d!=-1){size=250/(1+point.d);d = Math.sqrt(x * x + z * z);a = 0.75 - Math.pow(d / 100, 6) * 0.75;if(a>0){ctx.globalAlpha = a;ctx.fillRect(point.x-size/2,point.y-size/2,size,size);             }}}}ctx.globalAlpha=1;for(i=0;i<seeds.length;++i){point=rasterizePoint(seeds[i].x,seeds[i].y,seeds[i].z);if(point.d!=-1){size=200/(1+point.d);ctx.fillRect(point.x-size/2,point.y-size/2,size,size);}}point1=new Object();for(i=0;i<sparks.length;++i){point=rasterizePoint(sparks[i].x,sparks[i].y,sparks[i].z);if(point.d!=-1){size=sparks[i].radius*200/(1+point.d);if(sparks[i].alpha<0)sparks[i].alpha=0;if(sparks[i].trail.length){point1.x=point.x;point1.y=point.y;switch(sparks[i].img){case sparkPics[0]:ctx.strokeStyle="#f84";break;case sparkPics[1]:ctx.strokeStyle="#84f";break;case sparkPics[2]:ctx.strokeStyle="#8ff";break;case sparkPics[3]:ctx.strokeStyle="#fff";break;case sparkPics[4]:ctx.strokeStyle="#4f8";break;case sparkPics[5]:ctx.strokeStyle="#f44";break;case sparkPics[6]:ctx.strokeStyle="#f84";break;case sparkPics[7]:ctx.strokeStyle="#84f";break;case sparkPics[8]:ctx.strokeStyle="#fff";break;case sparkPics[9]:ctx.strokeStyle="#44f";break;}for(j=sparks[i].trail.length-1;j>=0;--j){point2=rasterizePoint(sparks[i].trail[j].x,sparks[i].trail[j].y,sparks[i].trail[j].z);if(point2.d!=-1){ctx.globalAlpha=j/sparks[i].trail.length*sparks[i].alpha/2;ctx.beginPath();ctx.moveTo(point1.x,point1.y);ctx.lineWidth=1+sparks[i].radius*10/(sparks[i].trail.length-j)/(1+point2.d);ctx.lineTo(point2.x,point2.y);ctx.stroke();point1.x=point2.x;point1.y=point2.y;}}}ctx.globalAlpha=sparks[i].alpha;ctx.drawImage(sparks[i].img,point.x-size/2,point.y-size/2,size,size);}}}function frame(){if(frames>100000){seedTimer=0;frames=0;}frames++;draw();doLogic();requestAnimationFrame(frame);}window.addEventListener("resize",()=>{canvas.width=canvas.clientWidth;canvas.height=canvas.clientHeight;cx=canvas.width/2;cy=canvas.height/2;});initVars();frame();</script><script>var lrcJSON = {"[00:00.00]":"除夕",
"[00:00.79]":"词 Lyricist:偏生梓归",
"[00:01.18]":"曲 Composer:殇小谨",
"[00:01.75]":"演唱 Vocal:音阙诗听/A-SOUL",
"[00:02.19]":"编曲 Arrangement:于瑾",
"[00:02.75]":"制作人 Producer :郭亚男",
"[00:03.55]":"监唱制作人 Vocal Producer:郭亚男",
"[00:04.04]":"音乐编辑 Audio Editing:石行@维伴音乐",
"[00:04.48]":"混音 Mixing Engineer:黄可爱@维伴音乐",
"[00:05.04]":"和声编写 Backing Vocal Arrange:郭亚男",
"[00:05.74]":"和声 Backing Vocal Performe:A-SOUL 郭亚男",
"[00:06.21]":"统筹 A&R:梓七",
"[00:06.58]":"(版权所有,未经许可请勿使用)",
"[00:07.30]":"在不够天晴的夜晚",
"[00:10.36]":"灯笼为谁挂一盏",
"[00:14.23]":"对联绕个弯没贴完",
"[00:17.18]":"落雪飘摇到漫漫",
"[00:21.12]":"路途辗转",
"[00:22.87]":"何时到站",
"[00:24.57]":"家人殷切的问探",
"[00:28.07]":"来去一趟",
"[00:29.80]":"归心似箭",
"[00:31.50]":"心底默默盼",
"[00:35.04]":"一盼有你陪伴",
"[00:38.31]":"一盼更果敢",
"[00:41.71]":"一盼人生圆满",
"[00:45.28]":"一盼皆平安",
"[00:47.80]":"除夕当庆贺",
"[00:48.87]":"走街串巷过",
"[00:51.04]":"除夕当庆贺",
"[00:52.21]":"知足更常乐",
"[00:54.65]":"除夕当庆贺",
"[00:55.77]":"能与你度过",
"[00:58.56]":"这团圆时刻",
"[00:59.71]":"年夜饭摆一桌",
"[01:01.52]":"除夕当庆贺",
"[01:02.62]":"腊梅照春色",
"[01:05.09]":"除夕当庆贺",
"[01:06.14]":"守岁望烟火",
"[01:08.49]":"除夕当庆贺",
"[01:09.50]":"与你游铜锣",
"[01:12.37]":"最难忘时刻",
"[01:13.58]":"不就停在此刻",
"[01:15.36]":"有最渺小的快乐","[01:17.36]":"以诚挚之心",
"[01:19.36]":"领岁月教诲",
"[01:21.36]":"敬年少热诚",
"[01:23.36]":"愿将来胜过往",
"[01:25.36]":"永远热泪盈眶","[01:30.00]":"#心到",
"[01:30.50]":"#想到",
"[01:31.00]":"#得到",
"[01:31.50]":"#看到",
"[01:32.00]":"#闻到",
"[01:32.50]":"#吃到",
"[01:33.00]":"#福到",
"[01:33.50]":"#运到",
"[01:34.00]":"#财到","[01:40.00]":"H_H把快乐掰一半给你",
"[01:42.00]":"H_H把甜蜜端一锅送你",
"[01:44.00]":"H_H把吉祥装一箱送你",
"[01:46.00]":"H_H把幸福载一车给你","[01:47.25]":"是秋水望穿的夜晚",
"[01:50.38]":"屠苏为谁温一盏",
"[01:54.37]":"爆竹打着转没放完",
"[01:57.58]":"有笑声传到耳畔",
"[02:01.26]":"孩提贪玩",
"[02:02.96]":"让新衣衫",
"[02:04.68]":"被细碎飞尘偷沾",
"[02:08.07]":"人间一趟",
"[02:09.80]":"志得意满",
"[02:11.60]":"心底默默盼",
"[02:17.12]":"有你陪伴",
"[02:22.05]":"祝愿身体健康",
"[02:25.37]":"事事皆美满",
"[02:28.09]":"除夕当庆贺",
"[02:29.18]":"走街串巷过",
"[02:31.30]":"除夕当庆贺",
"[02:32.32]":"知足更常乐",
"[02:34.89]":"除夕当庆贺",
"[02:35.80]":"能与你度过",
"[02:38.67]":"这团圆时刻",
"[02:39.95]":"年夜饭摆一桌",
"[02:41.76]":"除夕当庆贺",
"[02:42.78]":"腊梅照春色",
"[02:45.14]":"除夕当庆贺",
"[02:46.17]":"守岁望烟火",
"[02:48.54]":"除夕当庆贺",
"[02:49.63]":"与你游铜锣",
"[02:52.58]":"最难忘时刻",
"[02:53.74]":"不就停在此刻",
"[02:55.80]":"除夕当庆贺",
"[02:56.57]":"走街串巷过",
"[02:58.87]":"除夕当庆贺",
"[02:59.93]":"知足更常乐",
"[03:02.28]":"除夕当庆贺",
"[03:03.48]":"能与你度过",
"[03:06.24]":"这团圆时刻",
"[03:07.54]":"年夜饭摆一桌",
"[03:09.43]":"除夕当庆贺",
"[03:10.42]":"腊梅照春色",
"[03:12.67]":"除夕当庆贺",
"[03:13.78]":"守岁望烟火",
"[03:16.08]":"除夕当庆贺",
"[03:17.17]":"与你游铜锣",
"[03:19.97]":"最难忘时刻",
"[03:21.29]":"不就停在此刻",
"[03:23.15]":"有最渺小的快乐",};var lrcTime = [];//歌词对应的时间数组var ul = $("#lrclist")[0];//获取ulvar i = 0;$.each(lrcJSON, function(key, value) {//遍历lrclrcTime[i++] = parseFloat(key.substr(1,3)) * 60 + parseFloat(key.substring(4,10));//00:00.000转化为00.000格式ul.innerHTML += "<li><span>"+lrcJSON[key]+"</span></li>";//ul里填充歌词});lrcTime[lrcTime.length] = lrcTime[lrcTime.length-1] + 3;//如不另加一个结束时间,到最后歌词滚动不到最后一句var $li = $("#lrclist>li");//获取所有livar isLocked = false;//当拖动进度条的时候锁定,防止拖动进度条时audio时间改变出现冲突var currentLine = 0;//当前播放到哪一句了var currentTime;//当前播放的时间var audio = document.createElement("audio");
audio.src = "https://project.hvril.cn/.idea/3.mp3";
audio.loop = true;
audio.addEventListener("canplaythrough", function () {console.log("BGM.ready = 'true'")
}, false);
audio.play();var ppxx;//保存ul的translateY值audio.ontimeupdate = function() {//audio时间改变事件if(isLocked==false){isLocked=true;currentTime = audio.currentTime;for(n=-8,len=lrcTime.length;n<=8;n++){//将可视部分的所有其他歌词设置为默认if(currentLine+n<len-1){$li.get(currentLine+n).className="";}else break;}for (j=0, len=lrcTime.length; j<len; j++){if (currentTime<=lrcTime[j+1] && currentTime>=lrcTime[j]){currentLine =  j;ppxx = 180-(currentLine*32);ul.style.transform = "translateY("+ppxx+"px)";$li.get(currentLine-1).className="";console.log("on"+currentLine);$li.get(currentLine).className="on";break;}}isLocked=false;}};

开源地址:
https://gitee.com/Hauiteut/Spanning2022
烨拓科讯技术团队/Spanning2022开源

欢迎各位为此项目线上star

除夕跨年烟花特效[原创]相关推荐

  1. 【除夕最炫烟花代码】—— HTML+JQuery实现2022跨年烟花特效

  2. HTML+Jquery实现2022跨年烟花特效,除夕最炫烟花代码,跨年怎能没有烟花

  3. 2023年春节跨年烟花网页特效

    粉丝朋友们大家好,我是你们的 csdn的博主:lqj_本人 哔哩哔哩:小淼前端 另外,大家也可以关注我的哔哩哔哩账号,我会不定时的发布一些有关于全栈云开发以及前端开发的详解视频+源码 1.微信小程序腾 ...

  4. 除夕最炫烟花代码----跨年必备合集【含动态展示效果及网盘代码下载】

    写在前面 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:人工智能学习网站 跨年烟花目录 写在前面 1.HTML5夜景放烟花绽放动画效果 2.指哪打哪的HTML5+J ...

  5. 2022跨年烟花代码(六)HTML5鼠标点击页面放烟花特效

    HTML5鼠标点击页面放烟花特效 html代码 <!DOCTYPE html> <html> <head><meta http-equiv="Con ...

  6. 新年将至,100行Html+css实现烟花特效陪你跨年(附春节对联)

    文章目录 加特林版烟花 漫天飞雨烟花 花好月圆烟花 心动一刹烟花 春节对联 加特林版烟花 特点 根据鼠标点击的速度出现烟花,像加特林一样哒哒哒,希望朋友们在2022年能够像加特林一样疯狂输出,打败所有 ...

  7. 跨年烟花(用HTML制作动态烟花)

    跨年烟花(用HTML制作动态烟花) 先看效果图 html代码 <!doctype html> <html> <head> <meta charset=&quo ...

  8. CSS3实现烟花特效 --web前端

    烟花特效,比较简单,直接贴代码了-- <!DOCTYPE html><html lang="en"><head> <meta charse ...

  9. 对一些常见的HTML5特效进行整理和运行(有趣特效,烟花特效,爱心特效,炫酷特效)

    有趣特效 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="en&quo ...

最新文章

  1. 欠拟合的原因以及解决办法(深度学习)
  2. CIPS青工委学术沙龙总结:推荐系统前沿进展丨附回放和课件下载
  3. echarts图形报表缓存问题(option数据缓存)
  4. makefile使用.lds链接脚本以及 $@ ,$^, $, 解析
  5. SharePoint Conference 2008 - Day 1
  6. C++ 覆盖方法、重载方法的理解
  7. HTML+CSS+JS面试题(附带答案)
  8. java base64转文件_JAVA将Base64转为文件并保存详解
  9. Python自动控制鼠标中键滚动并截屏保存图像
  10. 试戴系统完全开放—zoomla!逐浪cms在后4.6时代的又一个亮点
  11. AM335x TP驱动解析
  12. python 手写m3u8多线程下载器
  13. CSS学习(四)——字体样式,文本样式
  14. mysql 生成随机手机号和随机中文名
  15. 怎样用计算机表白我爱你,微信表白的新套路,用隐藏性代码说我爱你,成功率99%...
  16. pem证书转p12和p12证书转cert、key
  17. 2021鹏业安装算量软件常见问题整理(二十)
  18. C#实现的系统内存清理
  19. 关于使用ui-select出现Error: [ui.select:choices] htt错误的问题
  20. SecureCrt配置之自动存储操作日志

热门文章

  1. 最全的100个Python精选库,建议收藏!
  2. php程序员 一万小时定律,科学网—一万小时定律——阅读笔记 - 贾琳的博文
  3. OpenGL之纹理过滤的四种方式
  4. Angular2组件开发—模板的逻辑控制(一)
  5. 程序员在上海税前12000的工资,真实发到手能拿到多少?
  6. 项目管理培训的一些总结
  7. 多目标应用:多目标蜣螂优化算法求解多旅行商问题(Multiple Traveling Salesman Problem, MTSP)
  8. OTA前装搭载率逼近50%,哪些供应商正在领跑细分赛道
  9. 怎样将微信热门文章采集到自己的公众号中?
  10. oeasy教您玩转vim - 27 - 文件类型