倒计时的思路就是先获取当前的时间,然后再去设置一个要获取的时间节点,然后将未来的时间减去现在的时间,要注意这个是获取的时间都是毫秒数,所以需要去给获得的时间毫秒数进行一个日期上面的转换。
function gotime(y, m, d) {
var date = new Date();
var newdate = new Date(y, m, d);
var cha = newdate - date;
var godays = Math.floor(cha / 1000 / 60 / 60 / 24);
var gohours = Math.floor(cha / 1000 / 60 / 60 % 24);
var gomin = Math.floor(cha / 1000 / 60 % 60);
var goseconds = Math.floor(cha / 1000 % 60);
return `距离2020年高考还有'${godays < 10 ? '0'+ godays :godays}天
${gohours<10? '0'+ gohours:gohours}时
${gomin<10? '0'+ gomin:gomin}分
${goseconds<10? '0'+ goseconds:goseconds}秒`;
}
gotime(2020,06,06);
因为需要去达到一个倒计时的效果,所以这里需要用到一个定时器去每秒执行一次上面的封装,也就是每秒都在做那个时间上的减法。
var h1 = document.getElementById('timesover');
var goestimes = gotime(2020, 06, 06);
h1.innerHTML = goestimes;
setInterval(function () {
var goestimes = gotime(2020, 06, 06);
h1.innerHTML = goestimes;
}, 1000)