800行代码实现春节倒计时与烟花祝福

简介: 春节就快要到了,在这里先祝愿大家,2022年,如虎添翼万事圆!吉祥如意平安年,开心快乐幸福年,喜气冲天幸运年,财源滚滚发财年,万事大吉顺心年,美满团圆喜庆年,愿君新年事事顺利,岁岁平安,年年如意!

一、前言


春节就快要到了,在这里先祝愿大家,2022年,如虎添翼万事圆!吉祥如意平安年,开心快乐幸福年,喜气冲天幸运年,财源滚滚发财年,万事大吉顺心年,美满团圆喜庆年,愿君新年事事顺利,岁岁平安,年年如意!


二、效果展示


1.春节计时

30.png

  • 春节计时的位置在中间偏上先设置一个大体的框架,代码获取到现在的时间显示,与过年设定好的时间进行比对,求解出具体还剩下的时分秒。


2.虎年摆件

31.png

  • 两个虎年动态摆件,左边是一只大吉大利的老虎,右边是一只心想事成的老虎,祝大家在新的一年里面,无论遇到任何事情都会大吉大利、心想事成。


3.背景音乐

32.png

  • 背景音乐是李谷一老师的难忘今宵(过年气氛就来了),点击右上角按钮即可以播放音乐


4.全局效果

33.png

  • 总体布局还是中间上方是一个灯笼,下面是距离春节的倒计时,最下面是两个小老虎,点击老虎中间的按钮就可以观看烟花。


5.烟花祝福

1.png

  • 点击底部的提前观看烟花就会跳转新的页面,生成烟花祝福
  • 等到春节的那一刻,也会跳转到这一个页面


三、代码讲解


html

<!DOCTYPE html><htmllang="zh"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"><metahttp-equiv="X-UA-Compatible' content='ie=edge,chrome=1"><linkrel="stylesheet"href="./css/index.css?ver=1.0"><linkrel="icon"href="./img/fz.png"><title>:知心宝贝祝你2022好运连连🎁</title></head><body><!-- 初始页 --><divclass="index"><divclass="lantern"></div><divclass="time">      距离春节:
<spanclass="hour">--</span> ://小时
<spanclass="min">--</span> ://分钟
<spanclass="second">--</span>//秒数
</div><divclass="text"></div><divclass="fence"><divclass="p1"></div><divclass="p2">提前看烟花</div>//点击按钮提前观看烟花
<divclass="p3"></div></div></div><!-- 烟花场景 --><divclass="fire">//进入烟花的场景
<canvas></canvas></div><!-- 烟花音效 --><divclass="fireSound">//设置不同的烟花音效
<audiosrc="http://www.imooc.com/newyear/static/fire_sound.mp3"autoplaymutedloop></audio><audiosrc="http://www.imooc.com/newyear/static/fire_sound.mp3"autoplaymutedloop></audio><audiosrc="http://www.imooc.com/newyear/static/fire_sound.mp3"autoplaymutedloop></audio></div><!-- 背景音乐 --><divclass="music run"><audiosrc="music/李谷一 - 难忘今宵.mp3"loop></audio>//李谷一老师的歌曲
</div><scriptsrc="./js/index.js?ver=1.0"></script></body></html>


JS倒计时

lettimer1=setInterval(() => {
letnowTime=newDate(),//获取目前的时间future=newDate("2022/02/01 00:00"),//设置好过春节的时间// 时间差times=future-nowTime,
// 时 分 秒h=Math.floor(times/ (3600*1000)),//计算相差的小时数m= (Math.floor(times% (3600*1000) / (60*1000)) +'').padStart(2, 0),//计算分钟数s= (Math.floor(times% (60*1000) /1000) +"").padStart(2, 0);//计算秒数hour.innerText=hmin.innerText=msecond.innerText=sif (s=="00"&&h=="00"&&m=="00") {//如果当前的时间和春节相等,触发烟花特效page1.style.display="none"page2.style.display="block"clearInterval(timer1)
// 初始烟花界面initFire()
    }
  }, 1000)


JS烟花

functioninitFire() {
// 爆炸声音for (leti=0; i<fireAudio.length; i++) {
fireAudio[i].currentTime=i    }
// 获取宽高letwidth=window.innerWidth,
height=window.innerHeight// 设置宽高canvas.width=widthcanvas.height=height// 运动小球letballs= [],
timer2=null,
count=0,
ballAll=5,
// 祝福词个数textAll=5,
// 祝福词坐标textPos= [
        { x: width/4, y: height/4+30 },
        { x: width/4*3, y: height/4-30 },
        { x: width/2, y: height/2 },
        { x: width/4, y: height/4*3 },
        { x: width/4*3, y: height/4*3+50 },
      ],
// 爆炸数组fires= [],
// 图片粒子点数组points1=getImgInfo(imgArr[0], 4),
points2= [],
textFires= []
for (leti=1; i<imgArr.length; i++) {
points2.push(getImgInfo(imgArr[i], 2))
    }


Css样式

.index.fence.p1 {//对于左边小老虎的特效
position: absolute;
left: 0px;//左侧位置
bottom: 0;
z-index: 5;
width: 280px;
height: 300px;
background: url(../img/kouzuo.png) bottomno-repeat;//设置图片在整个页面中的位置
background-size: 100%;
transform-origin: centerbottom;//底部
animation: 2sease-in-out-1sinfiniteturn;
}
.index.fence.p3 {//对于右边小老虎的特效
position: absolute;
right: -60px;//右侧位置
bottom: -70px;
z-index: 10;
width: 280px;
height: 300px;
background: url(../img/kouyou.png) no-repeat;//设置图片在整个页面中的位置
background-size: 100%;
transform-origin: centerbottom;//底部
animation: 2sease-in-outinfiniteturn;
}


四、Github Pages

35.png

Github Pages为每一个账户提供了专属域名,可以把自己提交到仓库的项目生成一个可执行站点,后面有机会我再详细介绍使用教程。

上面的春节代码只是简单列举了一些,大家如果想体验直接点击用Github Pages生成的链接:春节,或者自己依靠Github Pages上传这个项目文件,搞一个专属于自己的网页。

点击链接之后,就会跳转到上面效果图的界面,国内访问可能会有一点卡顿,等待一会就可以。


五、附录


这个代码是参考Github的牛年新春页面写的:牛年贺春

我给改成了虎年新春:虎年新春,大家想要源码直接上Github上面下载不同两个年份的贺春页面体验一下就可以了。

趁着钟声还未响,趁着鞭炮还未鸣,趁着春节还未至,趁着虎年刚开始,趁着人还未喝醉。先把我美好的祝愿送到你的手机,在这里祝愿大家虎年吉祥如意,合家欢乐。



相关文章
|
2月前
|
前端开发 JavaScript 程序员
程序员教你用代码制作3d爱心跳动特效,正好拿去送给女神给她个惊喜
使用HTML、CSS和JavaScript实现了一个三维网格采样器`MeshSurfaceSampler`,适用于任意浏览器,推荐谷歌。代码创建了一个类,从缓冲几何体的三角形网格中进行随机采样。提供了设置权重属性、构建分布和自定义随机数生成器的功能。用户只需将代码复制到文本文档并保存为HTML文件,即可运行。适合编程爱好者尝试,也可分享给他人。
|
2月前
|
Python
|
2月前
|
前端开发 安全 JavaScript
html+css+js实现的新年烟花
html+css+js实现的新年烟花
40 0
|
8月前
|
前端开发 JavaScript
七夕表白,不给女朋友来场炫酷的烟花?
七夕表白,不给女朋友来场炫酷的烟花?
56 0
|
11月前
除夕最炫烟花代码
除夕最炫烟花代码
77 0
|
12月前
【代码分享】【像极了恋爱】甜甜的汤圆,祝丽姿元宵快乐(表白特效)
【代码分享】【像极了恋爱】甜甜的汤圆,祝丽姿元宵快乐(表白特效)
|
C语言 C++
C/C++实现跨年表白烟花
C/C++实现跨年表白烟花
326 0
|
前端开发 JavaScript
2023年新年烟花代码(背景音乐完整版)
2023年新年烟花代码(背景音乐完整版)
180 0
|
前端开发 JavaScript
2023跨年代码(烟花+背景音乐)
2023跨年代码(烟花+背景音乐)
290 0
|
传感器 前端开发 芯片
画一个 “月饼” 陪我过中秋,使用 ESP32-C3 制作炫彩月饼
今年的中秋节又要到了,各平台活动也搞起来了,我有点坐不住了,作为一个嵌入式工程师,我可以做一个实实在在的月饼,拿在手上陪我们过中秋!
439 1
画一个 “月饼” 陪我过中秋,使用 ESP32-C3 制作炫彩月饼