当前位置:首页 > JavaScript

js实现计时

2026-02-02 09:18:37JavaScript

使用 setInterval 实现计时

通过 setInterval 可以创建一个周期性执行的计时器,适合持续更新显示时间。

let seconds = 0;
const timerElement = document.getElementById('timer');

const timer = setInterval(() => {
  seconds++;
  timerElement.textContent = `已计时: ${seconds} 秒`;
}, 1000);

// 停止计时
// clearInterval(timer);

使用 setTimeout 递归实现计时

通过递归调用 setTimeout 实现计时,避免 setInterval 可能因任务阻塞导致的时间偏差。

let seconds = 0;
const timerElement = document.getElementById('timer');

function updateTimer() {
  seconds++;
  timerElement.textContent = `已计时: ${seconds} 秒`;
  setTimeout(updateTimer, 1000);
}

updateTimer();

高性能计时(使用 Date 对象)

通过记录开始时间戳,结合 Date 对象计算精确耗时,适合需要高精度计时的场景。

const startTime = new Date().getTime();
const timerElement = document.getElementById('timer');

setInterval(() => {
  const currentTime = new Date().getTime();
  const elapsed = Math.floor((currentTime - startTime) / 1000);
  timerElement.textContent = `已计时: ${elapsed} 秒`;
}, 1000);

格式化时间显示(HH:MM:SS)

将秒数转换为更易读的 时:分:秒 格式。

function formatTime(seconds) {
  const hours = Math.floor(seconds / 3600);
  const minutes = Math.floor((seconds % 3600) / 60);
  const secs = seconds % 60;
  return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
}

// 使用示例
let seconds = 0;
setInterval(() => {
  seconds++;
  console.log(formatTime(seconds));
}, 1000);

暂停与恢复功能

通过变量控制计时器的暂停与恢复。

js实现计时

let seconds = 0;
let isPaused = false;
let timer;

function startTimer() {
  timer = setInterval(() => {
    if (!isPaused) {
      seconds++;
      console.log(`已计时: ${seconds} 秒`);
    }
  }, 1000);
}

function pauseTimer() {
  isPaused = true;
}

function resumeTimer() {
  isPaused = false;
}

startTimer();
// 暂停: pauseTimer();
// 恢复: resumeTimer();

标签: js
分享给朋友:

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

jquery和js

jquery和js

jQuery与JavaScript的区别 jQuery是一个基于JavaScript的库,封装了许多常用的功能,简化了DOM操作、事件处理、动画效果等。JavaScript是原生语言,功能更全面但代码…