简化之前的计时函数,完善了倒计时功能

本文介绍了一个使用HTML、CSS和JavaScript实现的倒计时页面,通过选择特定日期和时间,页面将显示到该时间点的倒计时,包括年、月、日、时、分、秒。
<!DOCTYPE html>
<html>
<head>
	<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
	<title>倒计时</title>
	<style type="text/css">
	*{
		margin: 0;
		padding: 0;
	}
	#tele {
		margin: 200px auto;
		width: 500px;
		height: 180px;
		background-color: #c40000;
		text-align: center;
		font-size: 30px;
		box-sizing: border-box;
		display: -webkit-box;
	  -webkit-box-pack: center;
	  -webkit-box-align: center;
	}
	input{
		width: 30px;
	}
	</style>
</head>
<body onload="init(1,13,'month');init(1995,2019,'year');init(1,32,'day');">
	<div >
		<select id="year">
			<option></option>
		</select><select id="month">
			<option></option>
		</select><select id="day">
			<option></option>
		</select><input type="text" name="" id="hours" placeholder="">:
		<input type="text" name="" id="minutes" placeholder="">:
		<input type="text" name="" id="seconds" placeholder="">
		<input type="button" name="" id="length" value="时间间隔" style="width: 60px" onclick="time();">
	</div>
	<div id="tele"></div>
<script type="text/javascript">
	//初始化函数
	function init(a,b,c){
		var nothing = "";
		for(var i = a; i < b; i++){
			nothing = nothing +"<option value = '"+i+"' id = attr'"+"''"+i+"'>"+i+"</option>";
		}
	 	document.getElementById(c).innerHTML = nothing;
 	}
	var old = new Date();
	//赋值函数
	function time(){
		last = old.setFullYear($("#year").val(),($("#month").val()-1),$("#day").val());
		laster = old.setHours($("#hours").val(),$("#minutes").val(),$("#seconds").val());
		setInterval(edge,1000);
	}
	//计时函数
	function edge(){
		var now = new Date();
		var lasttime = Math.abs(now.getTime() - old.getTime());
			var year = parseInt(lasttime / 1000 / 60 / 60 / 24 / 30 / 12);
			var month = parseInt(lasttime / 1000 / 60 / 60 / 24 / 30 % 12);
			var day = parseInt(lasttime / 1000 / 60 / 60 / 24 % 30);
			var hours = parseInt(lasttime / 1000 / 60 / 60 % 24);
			var minutes = parseInt(lasttime / 1000 / 60 % 60);
			var lastseconds = parseInt(lasttime / 1000 % 60);
			document.getElementById('tele').innerHTML = year + "年" + month + "个月" + "" + day+ "天" + "" + hours+ "时" + ":" + minutes+ "分" + ":" + lastseconds + "秒";
	}
	//样式修改函数
	function change(i){
		if (i < 10) {
			i = "0" + i;
		}
		return i;
	}
</script>
</body>
</html>

感觉之前的函数比较长,简化一下,另外,修改完善了一下函数,将时间戳加了绝对值属性,酱紫如果函数是指向未来的某个时间点,显示画面即显示倒计时的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值