jQuery setInterval倒计时精确到毫秒

9 篇文章 2 订阅

效果类似于:购物抢购倒计时-->在跳转N多个页面之后,倒计时间仍然正常显示。

思路:

结束时间是固定不变的(endTime),一直在改变的是当下的时间(curTime = new date());

时间差 = 结束时间 - 开始时间(leftTime = endTime - curTime);

知识点:

new Date("2017/06/22,17:00:00");//获取结束时间的时间点(固定)

new Date();//获取当下的时间(不断变化)

setInterval //倒计时

clearInterval();//清除倒计时

 

 

<p class="time"></p>
function timeLeft(select,endTime,curTime = new Date()){//curTime默认为当下时间
	var leftTime = endTime - curTime;//时间差
	if(leftTime <= 0){//如果时间差小于等于0
		clearInterval(timer);//清除定时器
		$(select).text(0+"天"+0+"时"+0+"分"+0+"秒"+0+"毫秒");
	}else{
		var days = Math.floor(leftTime/(1000*60*60*24));//天
		var hours = Math.floor(leftTime/(1000*60*60)%24);//时
		var mi = Math.floor(leftTime/(1000*60)%60);//分
		var se = Math.floor(leftTime/1000%60);//秒
		var ms = Math.floor(leftTime%1000);//毫秒
		$(select).text(days+"天"+hours+"时"+mi+"分"+se+"秒"+ms+"毫秒");
	}
}
	
var timer = setInterval(function(){//倒计时
	timeLeft(".time",new Date("2017/6/22,17:00:00"));//第一个参数是选择器,第二个参数是结束时间,第三个参数默认为当下时间
},1);//1毫秒倒计时:时间间隔为1,1秒倒计时:时间间隔为1000

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值