JavaScript实现简易计时器:HTML结构与核心逻辑解析

作者:微光

时间:2026-10-29

浏览:477

本文详细讲解如何使用JavaScript实现一个简易的计时器功能。通过HTML构建包含输入框和按钮的基础界面,利用setInterval方法每秒更新秒、分、时数据,并处理进位逻辑。同时,通过自定义属性控制暂停与继续状态,实现计时器的完整交互功能。

文章目录

JavaScript实现简易计时器:HTML结构与核心逻辑解析

计时器是日常生活中常见的功能,广泛应用于健身锻炼、跑步比赛等各类活动中。本文将使用JavaScript来实现一个基础的计时器功能。

计时器的核心在于时间的逻辑处理,例如60秒等于1分钟,60分钟等于1小时。本文仅处理到小时级别,并将计算结果动态显示在输入框中。

JavaScript实现简易计时器:HTML结构与核心逻辑解析

接下来,我们将构建计时器的用户界面。


<label>计时:</label> 
<input type="text" name="" id="timer"/> 
<button onclick="pause(this)" id="pause" state="on">暂停</button>
<button onclick="restart()">重新开始</button>

为标签元素设置ID以便通过JavaScript获取,并添加两个点击事件:分别用于暂停计时器和重新开始计时。

首先实现开始计时的功能。主要利用setInterval方法,每隔1秒执行一次回调函数。根据前文提到的时间换算逻辑(60秒=1分钟,60分钟=1小时),通过条件判断处理进位,最终将计算得到的秒、分、时数值显示在输入框中。


var ele_timer = document.getElementById("timer");
var n_sec = 0; //秒
var n_min = 0; //分
var n_hour = 0; //时

//60秒 === 1分
//60分 === 1小时
function timer() {
 return setInterval(function () {

 var str_sec = n_sec;
 var str_min = n_min;
 var str_hour = n_hour;
 if ( n_sec < 10) {
  str_sec = "0" + n_sec;
 }
 if ( n_min < 10 ) {
  str_min = "0" + n_min;
 }

 if ( n_hour < 10 ) {
  str_hour = "0" + n_hour;
 }

 var time = str_hour + ":" + str_min + ":" + str_sec;
 ele_timer.value = time;
 n_sec++;
 if (n_sec > 59){
  n_sec = 0;
  n_min++;
 }
 if (n_min > 59) {
  n_sec = 0;
  n_hour++;
 }


 }, 1000);
}

var n_timer = timer();

使用timer方法包装setInterval是为了便于后续处理暂停和重新开始逻辑。当用户点击暂停按钮时,计时器停止;再次点击该按钮时,计时器继续运行。为此,需要为按钮添加一个状态属性来控制这一行为。


//暂停和继续
function pause(self) {
 var state = self.getAttribute("state");
 if (state === "on") {
  clearInterval(n_timer);
  self.textContent = "继续";
  self.setAttribute("state", "off");
 } else {
  n_timer = timer();
  self.textContent = "暂停";
  self.setAttribute("state", "on");
 }
}

最后实现重新开始功能,逻辑相对简单。只需将计时器归零,并将暂停按钮恢复至初始状态即可。


function restart() {
 clearInterval(n_timer);
 n_sec = 0;
 n_min = 0;
 n_hour = 0;
 n_timer = timer();

 var ele_pause = document.getElementById("pause");
 ele_pause.textContent = "暂停";
 ele_pause.setAttribute("state", "on");
}

至此,计时器的功能已全部实现,效果如下所示。

JavaScript实现简易计时器:HTML结构与核心逻辑解析

希望本文的介绍能帮助大家更好地理解JavaScript程序设计中的计时器实现方法。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章