当前位置:首页 > 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 可能因任务阻塞导致的时间偏差。

js实现计时

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

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

updateTimer();

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

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

js实现计时

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);

暂停与恢复功能

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

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实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…