当前位置:首页 > JavaScript

js实现读秒

2026-04-05 21:35:48JavaScript

使用 setInterval 实现读秒

通过 setInterval 定时器实现读秒功能,每隔1秒更新显示的数字。

let count = 0;
const timer = setInterval(() => {
  count++;
  console.log(count);
  if (count >= 10) {
    clearInterval(timer); // 停止计时器
  }
}, 1000);

使用 setTimeout 递归实现读秒

通过递归调用 setTimeout 实现读秒,避免 setInterval 的潜在问题(如执行时间不精确)。

let count = 0;
function countDown() {
  count++;
  console.log(count);
  if (count < 10) {
    setTimeout(countDown, 1000);
  }
}
countDown();

带暂停和继续功能的读秒

实现一个可暂停和继续的读秒功能,适用于需要交互的场景。

let count = 0;
let timer = null;
let isPaused = false;

function startCount() {
  if (timer) clearInterval(timer);
  timer = setInterval(() => {
    if (!isPaused) {
      count++;
      console.log(count);
    }
  }, 1000);
}

function pauseCount() {
  isPaused = true;
}

function resumeCount() {
  isPaused = false;
}

startCount(); // 开始读秒
// pauseCount(); // 暂停
// resumeCount(); // 继续

页面显示读秒效果

在HTML页面中动态显示读秒效果,适用于倒计时或计时场景。

<div id="counter">0</div>
<button onclick="startCount()">开始</button>
<button onclick="pauseCount()">暂停</button>
<button onclick="resumeCount()">继续</button>

<script>
  let count = 0;
  let timer = null;
  let isPaused = false;

  function startCount() {
    if (timer) clearInterval(timer);
    count = 0;
    document.getElementById('counter').textContent = count;
    timer = setInterval(() => {
      if (!isPaused) {
        count++;
        document.getElementById('counter').textContent = count;
      }
    }, 1000);
  }

  function pauseCount() {
    isPaused = true;
  }

  function resumeCount() {
    isPaused = false;
  }
</script>

格式化显示时间(时分秒)

将读秒转换为更友好的时间格式(如 HH:MM:SS)。

js实现读秒

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 count = 0;
setInterval(() => {
  count++;
  console.log(formatTime(count));
}, 1000);

注意事项

  • 使用 clearIntervalclearTimeout 及时清理定时器,避免内存泄漏。
  • 递归调用 setTimeout 更适合需要精确控制的场景。
  • 页面显示时,避免频繁操作DOM,可以通过变量缓存优化性能。

标签: js
分享给朋友:

相关文章

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…