js中倒计时学习笔记

版权声明: https://blog.csdn.net/lhjuejiang/article/details/82261297

倒计时原理:未来的时间点-现在的时间点// 现在的时间点(在变)  var iNow = new Date();
// 未来的时间点(不变)

//下面两种方法都可以定义未来的时间点
// var iNew = new Date( 2013, 10, 27,  21,56,0  );

var iNew = new Date( 'November 27,2013 22:3:0' );

// 数字形式:new Date( 2013,4,1,9,48,12 );
// 字符串形式:new Date('June 10,2013 12:12:12');

// January、February、March、April、May、June、
// July、August、September、October、November、December

var t = Math.floor((iNew - iNow)/1000);  除以1000将毫秒变为秒,因为可能出现小数,所以向下取整

// 天:Math.floor(t/86400)  未来时间与现在相差多少天
// 时:Math.floor(t%86400/3600)   未来时间与现在相差多少小时
// 分:Math.floor(t%86400%3600/60)  未来时间与现在相差多少分钟
// 秒:t%60   未来时间与现在相差多少秒

倒计时实例:


<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
.t1 { width:400px; }
</style>
<script>

/*
var t =  Math.floor( new Date().getTime()/1000 );
alert( Math.floor(t/86400)+'天'+Math.floor(t%86400/3600)+'时'+Math.floor(t%86400%3600/60)+'分'+t%60+'秒' );
*/

window.onload = function () {
	var aInp = document.getElementsByTagName('input');
	var iNow = null;
	var iNew = null;
	var t = 0;
	var str = '';
	var timer = null;
	
	aInp[2].onclick = function () {
		iNew = new Date(aInp[0].value);
		clearInterval( timer );
		
		timer = setInterval (function (){
			
			iNow = new Date();
			t = Math.floor( ( iNew - iNow ) / 1000 );
			
			if ( t >= 0 ) {
				
				str = Math.floor(t/86400)+'天'+Math.floor(t%86400/3600)+'时'+Math.floor(t%86400%3600/60)+'分'+t%60+'秒';
			
				aInp[1].value = str;
				
			} else {
				
				clearInterval( timer );
				
			}
		
		}, 1000);
	};
};
</script>
</head>

<body>

距离:<input class="t1" type="text" value="November 27,2013 22:3:0" /><br />
还剩:<input class="t1" type="text" />
<input type="button" value="开始倒计时吧" />

</body>
</html>

猜你喜欢

转载自blog.csdn.net/lhjuejiang/article/details/82261297
今日推荐