js实现倒计时,定时器–完成时间倒计时
//每秒刷新一次
setInterval(function showtime() {
//结束时间
var endTime = document.getElementById("endTime").value;
endTime = new Date(endTime);
//当前时间
let beginTime = new Date();
//计算间隔的毫秒数
var jgTime = endTime - beginTime;
//一秒=1000毫秒(24,60,60就不解释了)
//获得天数
var dd = parseInt(jgTime /1000/ 24 / 60 /60);
dd = dd < 10 ? '0' +dd : dd;
//获得小时数,24小时之内
var HH= parseInt(jgTime /1000/ 60 / 60 % 24);
HH= HH< 10 ? '0' +HH: HH;
//获得分钟数,60分钟之内
var mm = parseInt(jgTime /1000/ 60 % 60);
mm = mm < 10 ? '0' +mm : mm;
//获得秒数,60秒之内
var ss = parseInt(jgTime/1000 % 60);
ss = ss < 10 ? '0' +ss : ss;
var jg = document.getElementById("jgTime");
jg.innerText =dd + '天' + HH+ '时' + mm + '分' + ss +'秒';
},1000);
思路:用获取的时间戳-现在的时间戳得到间隔的毫秒数,时间无法减去时间,有可能生成负数,所以采用时间戳的方法得到毫秒数形式的剩余时间,最后再把剩余时间转换为天、时、分、秒格式。
dd = parseInt(总秒数/60/60/24); // 计算天数
HH = parseInt(总秒数/60/60 % 24); // 计算小时
mm = parseInt(总秒数/60 % 60); // 计算分钟
ss = parseInt(总秒数 % 60); // 计算秒数
new Date(); 转换为时间戳格式
1.倒计定时器:timename=setTimeout(“function();”,delaytime);
2.循环定时器:timename=setInterval(“function();”,delaytime);
第一个参数“function()”是定时器触发时要执行的动作,可以是一个函数,也可以是几个函数,函数间用“;”隔开即可。
你打开一个页面后,想间隔几秒自动跳转到另一个页面,则你就需要采用倒计定时器“setTimeout(“function();”,delaytime)” ,而如果想将某一句话设置成一个一个字的出现,
则需要用到循环定时器“setInterval(“function();”,delaytime)” 。
clearTimeout(对象) 清除已设置的setTimeout对象
clearInterval(对象) 清除已设置的setInterval对象