用 JavaScript 写一个新年倒计时

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

前言

在春节即将到来钟声即将响起焰火即将燃起的日子里本篇文章带着祝福先送去给你。愿你在新的一年里好事临门平步青云万事如意。预祝春节快乐


主题

马上就要过年了时间过的真快啊

下面我将分享一个我们中国人的传统节日——春节的倒计时。


运行结果

在这里插入图片描述


对应素材

点击下面的链接跳转至对应素材下载压缩包完成解压后双击打开 index.html 文件

点击进入https://download.csdn.net/download/weixin_62897746/87371085?spm=1001.2014.3001.5503

或者把下面的代码复制进 后缀名为 html 的文件中把自己找的音乐名替换为 新年快乐.mp3双击打开运行即可

代码实现思路

  1. 2023新年快乐祝福词使用canvas完成烟花效果下面有多个点组成的底部在一直变动随机位置放烟花每一个烟花的样式都是不同的。

  2. 点击页面任意一处都可以播放新年快乐歌。

  3. 页面上方为随机祝福词每一秒祝福词都在发生变化字体颜色也是一秒改变一次。

  4. 页面中间为新年倒计时字体颜色每秒改变一次。如果新年时间已经过去那么中间将会显示为‘祝大家新年快乐’

  5. 整个页面由HTML+CSS+JavaScript编写而成烟花效果由H5+C3中新增功能Canvas编写而成整体背景为黑色在整个页面中随机位置出现烟花歌曲也是由H5+C3中新增功能的audio标签完成只要点击页面就会播放歌曲。


运行代码

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>3D烟花</title>

<style>
html,body,.box{
	margin:0px;
	width:100%;
	height:100%;
	overflow:hidden;
	background:#000;
    text-align: center;
}

#canvas{
	width:100%;
	height:100%;
}

#year{
    width: 100%;
    height: 10%;
    position: absolute;
    left: 0;
    line-height: 10%;
    color: red;
    top: 45%;
    text-align: center;

}
.audio{
    position: absolute;
    left: 0;
    display: none;
}
#zhufu{
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
}
</style>
</head>
<body>
    <div class="box">
        <h1 id="zhufu"></h1>
        <audio src="./新年快乐.mp3" controls autoplay loop class="audio"></audio>
        <h1 id="year"></h1>
        <canvas id="canvas"></canvas>
    </div>
<script>
var box = document.getElementsByClassName('box')[0]
var audio = document.getElementsByClassName('audio')[0]
box.onclick=()=>{
    audio.play()
}
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);
}

function newtime(){
    var time=new Date("2023/1/22,00:00:00")//这是春节那天的时间
    var nowtime=new Date()//获取今天现在的事件
    var lefttime=parseInt((time.getTime()-nowtime.getTime())/1000)//他们之间的时间差
    d=parseInt(lefttime/(24*60*60))//所剩day 
    h=parseInt(lefttime/(60*60)%24)//小时
    m=parseInt(lefttime/60%60)//分钟
    s=parseInt(lefttime%60)//秒
    var Number =
          "#" +
          // 下舍入0-1随机数 乘以 255转换为16进制
          Math.floor(Math.random() * 255).toString(16) +
          Math.floor(Math.random() * 255).toString(16) +
          Math.floor(Math.random() * 255).toString(16);
          document.getElementById('year').style.color = Number
    document.getElementById('year').innerHTML='距离新年还有'+d+"天"+h+"小时"+m+"分"+s+"秒";//获取值呈现在页面上
    if(lefttime<=0){
        document.getElementById('year').innerHTML="祝大家新年快乐"
    }
}//判断是否达到如果倒计时完成则显示新年快乐
newtime();
setInterval(newtime,1000)//计时器
window.addEventListener("resize",()=>{
	canvas.width=canvas.clientWidth;
	canvas.height=canvas.clientHeight;
	cx=canvas.width/2;
	cy=canvas.height/2;
});

var arr = ['生活如意事业高升。','前程似锦美梦成真。','年年今日岁岁今朝。','事事顺利万事如意。',
'愿与同僚共分此乐。',
'事业有成幸福快乐。',
'生日快乐幸福安康。',
'幸福快乐与君同在。',
'年丰人寿羊得草 花好月圆猴采桃。',

'羊尾宜拖兵烬去猴头须带太平来。',

'猴捧仙桃国安人寿羊衔嘉穗物阜年丰。',

'祝你时时快乐分分精彩秒秒幸福。',

'发财无限使劲赚钱!接财神',

'祝您好事连连好梦圆圆!拜新年',

'加薪买房购小车娶妻生子成家室!',

'新年祝福无限发财跨越2021!',
' 新年快乐!万事大吉!合家欢乐!财源广进!恭喜发财!',

'贺新年庆佳节恭喜发财!新年好万事顺事事如意!',

'新年快乐!祝您新的一年身体健康!工作顺利!生活美满!',

'新年的钟声悠然响起飘送着我的祝福萦绕在您的身边。',

'新年好!祝新年心情好身体好一切顺心。',

'恭喜贵公司成功上市!在新的一年里大展宏图!',

'家兴国兴事事兴。家圆国圆事事圆。',
' 哥们今年发财了吧 别忘了请客! 新年快乐。',

'恭祝您百福临门常有余祥云瑞气聚新春!',
' 喜悦伴着汗水成功伴着艰辛遗憾激励奋斗我们不知不觉地走进了2023年在新年来临之际首先我代表信息中心祝各位新年快乐万事如意!',

'贺新春!迎新年!祝你今年中大奖。万事顺!合家欢!愿君如意福满年。拜新年',

'一片绿叶饱含着它对根的情谊;一句贺词浓缩了我对您的祝愿。又是一个美好的开始――新年岁首祝成功和快乐永远伴随着您。拜新年',

'祝您在新的一年中吉祥如意笑口常开;也预祝我们在新的一年中合作愉快万事如意。拜新年',

'当旧年离去的时候同时离去的也是所有的不快;当迎来新春的时候同时也迎来了新的希望。祝你新年快乐。',
' 忙忙碌碌一整年,只为等到这一天,虽然年底没红包,发发短信也过年。祝你新年快乐,万事如意!拜新年',

'尊敬的阁下非常感谢您一年来对我们的支持籍新春佳节之即祝您新年愉快身体健康万事如意。',

'微风轻拂白云远逝在我心中永恒的是友情祝新年快乐万事如意。请你把这最诚挚的祝福带在身边让幸福永远伴随你。',

'2023年祝福经理您好!祝您春节快乐合家欢乐万事如意!新春新年新气象跃马奔腾迎新年!',
' 2023年祝福春天悄然至马蹄碎碎声旧事烦心去辉煌看今朝。祝大哥大嫂岁岁平安吉祥如意!',

'2023年贺词:美丽的人生伴随着新年的到来增添了更美丽的色彩愿你的明天像梦想那般绚丽多姿!',

'2023年贺词漫天雪花飘飘迎来了新年让久违的心灵相聚吧新年快乐!愿我的祝福能融化寒冬温暖你的心灵。–一个爱你的人。',

'我小时过年有一大群小孩子提着纸灯笼各家乱转回来的时候口袋里装满了好吃的。但愿你也有这样美好的回忆!',

'2023年贺词新年问好办事处处顺生活步步高彩票期期中好运天天交打牌场场胜口味顿顿好越活越年轻越长越俊俏家里出黄金墙上长钞票。',

'送走旧年的时候也送走一年的阴郁迎来新春的时候也迎来新的希望。给您拜年啦!',

'2023年贺词春风洋溢你;家人关心你;爱情滋润你;朋友忠于你;我这儿祝福你;幸运之星永远照着你。衷心祝福你新春快乐!',
' 2023年运程希望我是今年第一个给你送来祝福的人作为知己我只有打心底里对你说一句愿你所有的愿望都能成功!',

'谢谢你一年来对我工作的大力支持和帮助!愿我们在新的一年里团结开拓把我们的工作做得更好!',

'2023年运程零时的钟声响彻天涯新年的列车准时出发。它驮去一个难忘的岁月迎来了又一度火红的年华。祝新年快乐!',

'岁末甫至福气东来鸿运通天。否极泰来时重申鲲鹏之志惜时勤业中展军无限风采。祝新年吉祥!',
' 2023年运程虽然年年都是新年旧祝词虽然己不知说了多少遍但虽是旧词却有新意感觉也会不一样的。祝新春快乐!万事如意!',

'2023年运程年月在我们身边流过许多的人和事逐渐淡忘而你却永远在我心上因你让我的世界再不一样祝福你有一个不一样的新年。',

'新春的钟声不停地敲我的祝福不停地送。千言祝福一句话新春快乐祥瑞新年!',

'新年好!给您拜年了!过去的一年我们合作得都很愉快谢谢您的关照祝您春节快乐!吉祥如意!心想事成!',

'真心祝您在新的一年里平安快乐身体健康愿您所有的梦想都能在新年得以实现。',

'又是一年春来到祝福满天飘飘到你也飘到我恭贺新禧!新春愉快!万事如意!心想事成!',

'又是一年美好的开始又是一段幸福的时光又一次真诚地祝福你过年好!',

'我已经把我的祝福放在365朵花苞中它们每天开放一朵每天给你美好的祝福。',

'值此新春佳节之际祝您及家人幸福吉祥身体健康乐驰千里马更上一层楼!',

'漫天雪花飘飘迎来了新年让久违的心灵相聚吧我深深地祝福你新年快乐!愿我的祝福能融化寒冬温暖你的心灵。',

'我最亲爱的朋友在这新年里祝愿上帝保佑您!观音菩萨护住您!财神抱住您!爱神射住您!食神吻住您!',

'新年新事新开始新起点定有新的收获祝朋友们事事如意岁岁平安精神愉快春节好。',

'新年好!新年到好事全到了!祝您及全家新年快乐!身体健康!工作顺利!吉祥如意!',

'祝新年行大运!仕途步步高升万事胜意!麻雀得心应手财源广进!身体棒吃饭香睡觉安合家幸福恭喜发财!',

'天增岁月人增寿春满乾坤福满门。三羊开泰送吉祥五福临门财源茂。恭祝新春快乐幸福安康!!',

'祝你2023年大名鼎鼎大吉大利大红大紫大显身手大炮而红大鸣惊人大马当先!',

'祝新年吉祥前程似锦吉星高照财运亨通合家欢乐飞黄腾达福如东海寿比南山幸福美满美梦连连!',

'春风洋溢着你家人关心你爱滋润着你财神系着你朋友忠于你我这祝福你幸运之星永远照着你。',

'无惊无险又是一年新年来临衷心祝愿银行存款只增不减美好未来努力今天人生目标一直向钱!',

'新年辞旧岁祝你在新的一年里有新的开始有新的收获新年快乐万事如意!',

'祝你新的一年致富踏上万宝路事业登上红塔山情人塞过阿诗玛财源遍布大中华。',

'祝您在新的一年里财源滚滚艳福多多妻妾成群儿孙满堂。东摸西吻浅呻吟左拥右抱美人笑羡煞韦小宝妒坏西门庆。',

'有些事并不因时光流逝而褪去有些人不因不常见面而忘记记忆里你是我永远的朋友。迎新之际恭祝事业蒸蒸日上。',

'新春快乐!万事大吉!合家欢乐!财源广进!吉祥如意!花开富贵!金玉满堂!福禄寿禧!恭喜发财!',

'祝你在新的一年里事业正当午身体壮如虎金钱不胜数干活不辛苦悠闲像老鼠浪漫似乐谱快乐非你莫属!',

'新春佳节到向你问个好;身体倍健康心情特别好;好运天天交口味顿顿妙;家里出黄金墙上长钞票。',

'酒倒在杯里象水喝进肚里闹鬼走起路来绊腿回到家里吵嘴爬到床上阳痿第二天起来后悔春节你喝了没有?',

'新年好!衷心祝福你上帝保佑你!真主关心你!菩萨爱护你!财神跟随你!幸运之神伴随你!',

'祝你老兄龙马精神事业旺吃喝不愁不发胖小秘争着把你傍媳妇越长越漂亮老的小的身体壮新年都有新气象!',

'祝愿你在新的一年里所有的希望都能如愿所有的梦想都能实现所有的等候都能出现所有的付出都能兑现。',

'在这阳光灿烂的节日里我祝你心情愉悦喜洋洋家人团聚暖洋洋爱情甜蜜如艳阳绝无伤心太平洋。',

'老婆是家情人是花;工资给家奖金买花;病了回家好了看花;希望你在新的一年里记得常回家看看但也别忘了浇花。',
' 情人是鲜花握在手里不想撒朋友是葱花哪里需要哪里抓小秘是火花偶尔来点小摩擦爱人是麻花饿了才会想到他祝小葱花快乐。',

'新年祝愿天下朋友工作舒心薪水合心被窝暖心朋友知心爱人同心一切都顺心永远都开心事事都称心!',

'天气预报今年你将会遇到金钱雨幸运风爱情雾友情露幸运霞健康霜美满雷安全雹请注意它们将会缠绕着你一整年。',]

setInterval(() => {
    var Number =
          "#" +
          // 下舍入0-1随机数 乘以 255转换为16进制
          Math.floor(Math.random() * 255).toString(16) +
          Math.floor(Math.random() * 255).toString(16) +
          Math.floor(Math.random() * 255).toString(16);
    var zhufu = document.getElementById('zhufu')
    zhufu.style.color = Number
    zhufu.innerHTML = arr[Math.floor(Math.random() * arr.length)]
}, 1000);

initVars();
frame();

</script>
<div style="text-align:center;">
</div>
</body>
</html>

春节的由来

春节俗称“年节”是中华民族最隆重的传欢度春节统佳节。自汉武帝太初元年始以夏年农历正月初一为“岁首”即“年”年节的日期由此固定下来延续至今。年节古称“元旦”。1911年辛亥革命以后开始采用公历阳历计年遂称公历1月1日为“元旦”称农历正月初一为“春节”。岁时节日亦被称为“传统节日”。它们历史悠久、流传面广具有极大的普及性、群众性、甚至全民性的特点。年节是除旧布新的日子。年节虽定在农历正月初一但年节的活动却并不止于正月初一这一天。从腊月二十三或二十四日小年节起人们便开始“忙年”扫房屋、洗头沐浴、准备年节器具等等。所有这些活动有一个共同的主题即“辞旧迎新”。人们以盛大的仪式和热情迎接新年迎接春天。年节也是祭祝祈年的日子。古人谓谷子一熟为一“年”五谷丰收为“大有年”。西周初年即已出现了一年一度的庆祝丰收的活动。后来祭天祈年成了年俗的主要内容之一。而且诸如灶神、门神、财神、喜神、井神等诸路神明在年节期间都备享人间香火。人们借此酬谢诸神过去的关照并祈愿在新的一年中能得到更多的福佑。年节还是合家团圆、敦亲祀祖的日子。除夕全家欢聚一堂吃罢“团年饭”长辈给孩子们分发“压岁钱”一家人团坐“守岁”。元日子时交年时刻鞭炮齐响辞旧岁、迎新年的活动达于高潮。各家焚香致礼敬天地、祭列祖然后依次给尊长拜年继而同族亲友互致祝贺。元日后开始走亲访友互送礼品以庆新年。年节更是民众娱乐狂欢的节日。元日以后各种丰富多彩的娱乐活动竞相开展耍狮子、舞龙灯、扭秧歌、踩高跷、杂耍诸戏等为新春佳节增添了浓郁的欢度春节喜庆气氛。此时正值“立春”前后古时要举行盛大的迎春仪式鞭牛迎春祈愿风调雨顺、五谷丰收。各种社火活动到正月十五再次形成高潮。因此集祈年、庆贺、娱乐为一体的盛典年节就成了中华民族最隆重的佳节。而时至今日除祀神祭祖等活动比以往有所淡化以外年节的主要习俗都完好地得以继承与发展。春节是中华民族文化的优秀传统的重要载体它蕴含着中华民族文化的智慧和结晶凝聚着华夏人民的生命追求和情感寄托传承着中国人的家庭伦理和社会伦理观念。历经千百年的积淀异彩纷呈的春节民俗已形成底蕴深厚且独具特色的春节文化。近年来随着物质生活水平的提高人们对精神文化生活的需求迅速增长对亲情、友情、和谐、美满的渴求更加强烈春节等传统节日越来越受到社会各界的重视和关注。要大力弘扬春节所凝结的优秀传统文化突出辞旧迎新、祝福团圆平安、兴旺发达的主题努力营造家庭和睦、安定团结、欢乐祥和的喜庆氛围推动中华文化历久弥新、不断发展壮大。


总结

最后祝愿支持过我的朋友们身体健康万事如意。

以上就是 基于 js 制作一个新年倒计时不懂得也可以在评论区里问我或私聊我询问以后会持续发布一些新的功能敬请关注。
我的其他文章https://blog.csdn.net/weixin_62897746?type=blog

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: JavaScriptJava