Files
aurora-admin/frameworks/Countdown.html
T

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>