倒计时
by Boyanliuu
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>倒计时</title>
</head>
<body>
<section>
<p> 倒计时</p>
<div class="countdown">
<span class="daySpan"></span>
<span class="hourSpan"></span>
<span class="minuteSpan"></span>
<span class="secondSpan"></span>
</div>
</section>
</body>
</html>
CSS
body{
height:100vh;
display:flex;
justify-content:center;
align-items:center;
}
section{
width:600px;
height:200px;
background:lightblue;
padding:24px;
text-align:center;
}
.countdown{
display:flex;
justify-content:space-between;
}
span{
}
JavaScript
const daySpan = document.querySelector('.daySpan'),
hourSpan = document.querySelector('.hourSpan'),
minuteSpan = document.querySelector('.minuteSpan'),
secondSpan = document.querySelector('.secondSpan'),
deadline = new Date('2021-8-08 00:00');
function countDown(){
const now = new Date(), timeRemaining = deadline - now;
let day,hour,minute,second;
if(timeRemaining < 0 ) {return}
//先转换成秒, 除以1000然后 用余数算出来当前是多少秒
second = Math.floor(timeRemaining/ 1000 % 60) ;
//先转换成秒, 除以1000然后转换成 分钟 除以60 用余数算出来当前是多少分钟
minute = Math.floor(timeRemaining/ 1000 / 60 % 60) ;
//先转换成秒, 除以1000然后转换成 分钟 除以60 然后再除以60 转换成 小时 然后 用余数算出来是多少小时
hour = Math.floor(timeRemaining/ 1000 / 60 / 60 % 24);
day = Math.floor(timeRemaining/ 1000 / 60 / 60 /24);
daySpan.innerHTML = day + 'days';
hourSpan.innerHTML = hour + 'hours';
minuteSpan.innerHTML = minute + 'minutes';
secondSpan.innerHTML = second + 'seconds';
setTimeout(countDown,1000);
}
countDown();