js中倒计时学习笔记

倒计时原理:未来的时间点-现在的时间点// 现在的时间点(在变)  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>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值