当前位置:首页 > 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 的潜在问题(如执行时间不精确)。

js实现读秒

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

带暂停和继续功能的读秒

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

js实现读秒

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

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实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…

js图片轮播的实现

js图片轮播的实现

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

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…

js 实现日历

js 实现日历

实现日历的基本思路 日历的核心功能是展示日期,并允许用户进行日期选择或导航。JavaScript 可以动态生成日历的 HTML 结构,并处理用户交互逻辑。 基础日历结构 日历通常包含头部(显示月份和…