html代码:
<div id="box"> <h3>倒计时</h3> 请输入:<input type="text" value="2022" />年 <input type="text" value="7" />月 <input type="text" value="26" />日 <button>开始</button> <p class="p1">现在距离- <span>0000</span> -还剩:</p> <p class="p2"><span>00</span>天 <span>00</span>小时 <span>00</span>分 <span>00</span>秒</p> </div>
css代码:
<style> #box { 500px; height: 500px; background: #eee; margin: 20px auto; text-align: center; } #box h3 { font-size: 32px; padding: 30px; color: white; } #box input { 100px; } button { 160px; height: 160px; background: #000; margin-top: 30px; border-radius: 80px; color: yellow; font-size: 40px; } .p1 span { font-size: 24px; color: yellow; } .p2 { font-size: 30px; color: white; } .p2 span { font-size: 40px; color: yellow; } </style>
js代码:
<script>
// 获取元素
var box = document.getElementById("box"),
oInputs = box.getElementsByTagName("input"),
btn = box.getElementsByTagName("button")[0],
oSpans = box.getElementsByTagName("span");
var timer = null;
// 获取元素
btn.onclick = function () {
//保存输入框的值
var y = oInputs[0].value;
var m = oInputs[1].value;
var d = oInputs[2].value;
// 给span赋值
oSpans[0].innerHTML = y + "年" + zero(m) + "月" + zero(d) + "日";
// 页面初始化
downCount();
// 防止用户多次点击先清除定时器
window.clearInterval(timer);
// 设置定时器
timer = window.setInterval(downCount, 1000);
// 倒计时
function downCount() {
// 当前时间
var nowDate = new Date();
// 目标时间
var tarDate = new Date(y, m - 1, d);
// 日期对象直接直接相减可以得到毫秒差
var diffSeconds = parseInt((tarDate - nowDate) / 1000);
console.log(diffSeconds);
// 将秒值转为需要的时间
var day = parseInt(diffSeconds / 86400);
var hour = parseInt(diffSeconds % 86400 / 3600);
var minutes = parseInt(diffSeconds % 3600 / 60);
var seconds = diffSeconds % 60;
// 赋值的操作
oSpans[1].innerHTML = zero(day);
oSpans[2].innerHTML = zero(hour);
oSpans[3].innerHTML = zero(minutes);
oSpans[4].innerHTML = zero(seconds);
}
}
// 补零操作
function zero(val) {
return val < 10 ? "0" + val : val;
}
</script>
效果图:
