原生JS实现倒计时功能

原生JS实现的倒计时功能

效果图
在这里插入图片描述

说明:在代码第四十航行,设置你要倒计时的时间是的参照物

2019年8月16日 16:21:18 距离 2018-8-22 是负的360天 17小时 20分

在这里插入图片描述

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<h1 class="title">距离光棍节还有</h1>
	<div>
	<span><span id="day" >00</span>天</span>
	<strong><span id="hour">00</span>时</strong>
	<strong><span id="minute">00</span>分</strong>
	<strong><span id="second">00</span>秒</strong>
	</div>
	<script>
	//此函数返回两个日期相差的 天 时 分 秒
	function getInterval(start,end){
		//时间差 毫秒值
		var interval = end - start;
		//转换成秒 相差的总共的秒数
		interval = interval/1000 ;
		var day,hour,minute,second;
		day = Math.floor(interval/60/60/24);
		hour = Math.floor(interval/60/60%24);
		minute = Math.floor(interval/60%60);
		second = Math.floor(interval%60);
		return {
			day : day,
			hour : hour,
			minute : minute,
			second : second
		}
	}
	//倒计时
	var spanDay = document.getElementById('day');
	var spanHour = document.getElementById('hour');
	var spanMinute = document.getElementById('minute');
	var spanSecond = document.getElementById('second');
	//显示的是当前时间到下面这个时间的时间差
	var end = new Date('2018-8-22');
	setInterval(countdown,1000);
	//先调用一次 这样刚打开网页就不用等1秒才开始定时器了
	countdown();

	function countdown(){

		var start = new Date();
		var obj = getInterval(start,end);


		// 给数值不够两位的补0
		obj.day =  obj.day < 10 ?'0'+obj.day : obj.day;  
		obj.hour =  obj.hour < 10 ?'0'+obj.hour : obj.hour;  
		obj.minute =  obj.minute < 10 ?'0'+obj.minute : obj.minute;  
		obj.second =  obj.second < 10 ?'0'+obj.second : obj.second ;  
		
		spanDay.innerText = obj.day;
		spanHour.innerText = obj.hour;
		spanMinute.innerText = obj.minute;
		spanSecond.innerText = obj.second;
	
	}
	</script>
</body>
</html>
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的html5京东秒杀页面代码,可以通过原生JS模拟京东秒杀专场倒计时: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>京东秒杀页面</title> <style> #countdown { font-size: 36px; text-align: center; margin-top: 100px; } </style> </head> <body> <div id="countdown"></div> <script> // 设置秒杀结束时间 var endTime = new Date("2022-01-01 00:00:00").getTime(); // 每秒更新倒计时 var countdown = setInterval(function() { // 获取当前时间 var now = new Date().getTime(); // 计算剩余时间 var distance = endTime - now; // 将剩余时间转换为天、时、分、秒 var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); // 将倒计时显示在页面上 document.getElementById("countdown").innerHTML = "距离秒杀结束还有:" + days + "天 " + hours + "时 " + minutes + "分 " + seconds + "秒 "; // 如果倒计时结束,清除倒计时 if (distance < 0) { clearInterval(countdown); document.getElementById("countdown").innerHTML = "秒杀已结束"; } }, 1000); </script> </body> </html> ``` 这个代码通过设置秒杀结束时间,然后每秒更新倒计时,将剩余时间转换为天、时、分、秒,并将倒计时显示在页面上。当倒计时结束时,会清除倒计时并显示“秒杀已结束”。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值