44 lines
1.7 KiB
HTML
44 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Aurora Admin · Countdown</title>
|
|
<link rel="stylesheet" href="../.design_library/aurora-admin/colors_and_type.css" />
|
|
<link rel="stylesheet" href="./Countdown.css" />
|
|
</head>
|
|
<body>
|
|
<div class="aa-page">
|
|
<h2 class="aa-h2">Countdown 倒计时</h2>
|
|
<p class="aa-desc">用于秒杀、验证码、会议开始等场景,支持天/时/分/秒,结束触发回调。</p>
|
|
|
|
<div class="aa-demo">
|
|
<div class="aa-demo__title">距活动结束</div>
|
|
<div class="aa-countdown" id="cd"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
var target = Date.now() + 2 * 3600 * 1000 + 35 * 60 * 1000 + 12 * 1000; // 2h35m12s
|
|
var root = document.getElementById('cd');
|
|
var timer = setInterval(function () {
|
|
var diff = target - Date.now();
|
|
if (diff <= 0) {
|
|
clearInterval(timer);
|
|
root.innerHTML = '<span class="aa-countdown-done">活动已结束</span>';
|
|
return;
|
|
}
|
|
var s = Math.floor(diff / 1000);
|
|
var d = Math.floor(s / 86400); s %= 86400;
|
|
var h = Math.floor(s / 3600); s %= 3600;
|
|
var m = Math.floor(s / 60); var sec = s % 60;
|
|
var pad = function (n) { return String(n).padStart(2, '0'); };
|
|
var seg = function (num, label) {
|
|
return '<div class="aa-countdown-seg"><span class="aa-countdown-num">' + pad(num) + '</span><span class="aa-countdown-label">' + label + '</span></div>';
|
|
};
|
|
root.innerHTML = (d > 0 ? seg(d, '天') : '') + seg(h, '时') + '<span class="aa-countdown-sep">:</span>' + seg(m, '分') + '<span class="aa-countdown-sep">:</span>' + seg(sec, '秒');
|
|
}, 1000);
|
|
</script>
|
|
</body>
|
|
</html>
|