jQuery setInterval倒计时精确到毫秒
效果类似于:购物抢购倒计时-->在跳转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)%60);//时 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
其他:https://www.cnblogs.com/jiqing9006/p/5737312.html