跟上一篇倒计时不同的是:上一篇是倒计时一次,这一片是倒计时多次
实现效果:固定时间段多次倒计时 ---> 例如:每隔10分钟倒计一次
思路:
结束时间是固定不变的(endTime),一直在改变的是当下的时间(curTime = new date());
时间差 = 结束时间 - 开始时间(leftTime = endTime - curTime);
选择一个结束时间作为固定的基础结束时间;
在时间差即上一次倒计时时间为0的时候,基础结束时间自增10分钟开始下一次的倒计时;
知识点:
new Date("2017/06/22,17:00:00") = new Date(1498122000000);//这两种形式代表同一个时间点
+= ;//自增
其他知识点和上一篇一样;
一分钟倒计时为例:
<p class="time"></p>
var initEndTime;//基础结束时间
var endTime;//结束时间
var leftTime;//时间差
initEndTime = 1498118720000;//基础结束时间
function timeLeft(select){
endTime = new Date(initEndTime);//结束时间
leftTime = endTime - new Date();//时间差
if(leftTime < 0){
initEndTime += 1000*60;//时间差为0时,基础结束时间自增一分钟
}
var d = Math.floor(leftTime/(1000*60*60*24));
var h = Math.floor(leftTime/(1000*60*60)%60);
var m = Math.floor(leftTime/(1000*60)%60);
var s = Math.floor(leftTime/1000%60);
var ms = Math.floor(leftTime%1000);
$(select).text(d+"天"+h+"时"+m+"分"+s+"秒"+ms+"毫秒");
}
var timer = setInterval(function(){
timeLeft(".time");
},1);
时间换算:(以毫秒为单位)
1秒 = 1000毫秒
1分钟 = 60秒
1小时 = 60分钟
1天 = 24小时