简单javascript代码实现简单的天时分秒倒计时功能效果

常见的活动倒计时效果js代码,实现原理很简单,通过计算结束时间与当前的时间差实现倒计时,然后可以使用setInterval方法实现每隔1000毫秒(即1秒)变动一次剩余时间的动态倒计时效果。

HTML代码:

<div class="countTime">
	<span id="day"></span>
	<span>天</span>
	<span id="hour"></span>
	<span>时</span>
	<span id="min"></span>
	<span>分</span>
	<span id="sec"></span>
	<span>秒</span>
</div>

PS:CSS样式自由发挥。

js代码:

倒计时函数
function countTime(endtime) {
	//获取当前时间
	var date = new Date(); //new实例化对象Data()
	var now = date.getTime(); //getTime()函数返回1970-01-01 00:00:00至现在的总毫秒数(即时间戳)
	//设置截止时间
	var str=endtime; //获取结束时间,附值给变量str
	var endDate = new Date(str); //把结束时间转化为对象
	var end = endDate.getTime(); //把结束时间转换为毫秒

	//时间差
	var leftTime = end-now; //结束时间与当前时间的毫秒差
	//定义变量 d,h,m,s保存倒计时的时间
	var d,h,m,s;
	if (leftTime>=0) { //毫秒差大于0,表示还没有结束
		d = Math.floor(leftTime/1000/60/60/24); //计算天数(1000毫秒=1秒,60秒=1分钟,60分钟=1小时,24小时=1天),取最小值
		h = Math.floor(leftTime/1000/60/60%24); //计算小时,取余数的最小值
		m = Math.floor(leftTime/1000/60%60); //计算分钟,取余数的最小值
		s = Math.floor(leftTime/1000%60); //计算秒数,取余数的最小值
	}else{ //毫秒差小于0,表示已经结束,设置天、时、分、秒都为0
		d=0;
		h=0;
		m=0;
		s=0;
	}
	//将倒计时显示到指定ID的DOM元素中
	document.getElementById('day').innerText = d;
	document.getElementById('hour').innerText = h;
	document.getElementById('min').innerText = m;
	document.getElementById('sec').innerHTML = s;
	//递归每秒调用countTime方法,显示动态时间效果
	//setTimeout(countTime,1000);
}

调用函数

静态时间效果
countTime('2024/5/5 00:00:00');
动态时间效果
window.setInterval(function(){
    countTime('2024/5/5 00:00:00');
    }, 1000
);

很简单的代码,明白思路就可以轻松实现。