答案:该倒计时组件通过javaScript实现每秒更新显示,归零后触发回调。使用方法为调用createCountdown函数传入元素ID、初始秒数和结束回调,支持重置与样式扩展,结构清晰且轻量实用。

实现一个简单的倒计时组件,关键在于定时更新显示时间,并在倒计时结束后触发回调。下面是一个基于原生 javascript 编写的轻量级倒计时 ui 组件,无需依赖任何框架,可直接嵌入网页使用。
倒计时组件的基本结构
组件由 html 容器、css 样式和 JavaScript 逻辑三部分组成。我们先定义一个用于显示倒计时的 dom 元素:
<div id=”countdown”>10</div>
这个 div 将实时显示剩余秒数。
JavaScript 倒计时逻辑
以下是核心 JavaScript 代码,封装成一个可复用的函数:
立即学习“Java免费学习笔记(深入)”;
function createCountdown(elementId, seconds, onEnd) { const element = document.getElementById(elementId); let remaining = seconds; // 更新显示 function updateDisplay() { element.textContent = remaining; } // 开始倒计时 const timer = setInterval(() => { remaining--; updateDisplay(); if (remaining <= 0) { clearInterval(timer); if (onEnd && typeof onEnd === 'function') { onEnd(); } } }, 1000); // 初始化显示 updateDisplay(); // 返回控制方法(可选) return { pause: () => clearInterval(timer), reset: (newSeconds) => { remaining = newSeconds || seconds; updateDisplay(); } }; }
如何使用这个组件
在页面加载完成后调用函数启动倒计时:
window.onload = function() { createCountdown('countdown', 10, function() { document.getElementById('countdown').textContent = '时间到!'; alert('倒计时结束'); }); };
这段代码会从 10 开始倒数,每秒减 1,归零后显示“时间到!”并弹出提示。
可选:添加简单样式
为了让倒计时更醒目,可以加一点 CSS:
<style>
#countdown {
font-size: 2rem;
font-weight: bold;
color: #d32f2f;
text-align: center;
margin: 20px 0;
}
</style>
这个倒计时组件结构清晰、易于扩展。你可以在此基础上增加格式化功能(如 mm:ss)、动态启动/暂停按钮或支持毫秒级精度。基本上就这些,不复杂但很实用。


