// - 在所有使用定时器的功能上,我们都需要先把功能封装在一个函数之中;
知识点:
1、new Date():创建一个Date对象。
2、Date.now()获取时间戳,默认时间是1970/01/01/00:00:00,单位毫秒。
3、getTime()获取目标时间的时间戳。
<script>
function countDown(){
// 倒计时功能分成两个部分 :
// - 目标点时间;
var date = new Date("2022/04/07 17:30:00");
//目标点时间戳
var target = date.getTime();
// - 获取时间戳;默认时间是1970年1月1日00:00:00
var time = Date.now();
//时间戳差值
var reduce = target-time;
//算出小时数
hours.innerHTML = parseInt(reduce / 1000 / 60 / 60 % 24);
//为了美观,单位数时进行补0操作
hours.innerHTML.length === 1 ? hours.innerHTML = '0' + hours.innerHTML : '';
//算出分钟数
min.innerHTML = parseInt(reduce / 1000 / 60 % 60);
min.innerHTML.length === 1 ? min.innerHTML = '0' + min.innerHTML : '';
//算出秒数
sec.innerHTML = parseInt(reduce / 1000 % 60);
sec.innerHTML.length === 1 ? sec.innerHTML = '0' + sec.innerHTML : '';
}
// 定时器的第一次函数执行,是需要等待间隔时间的;
// - 对于这样的间隔时间可能影响到我们页面特效的呈现效果;
// - 如果出现了这样的情况我们可以在定时器之前直接调用特效函数;
countDown();
//定时器
setInterval(countDown, 500);
</script>