当前位置:首页 > JavaScript

js实现倒进时

2026-02-02 16:17:11JavaScript

实现倒计时的方法

使用 setInterval 和 clearInterval

创建一个函数,使用 setInterval 每隔一秒更新倒计时显示,当倒计时结束时使用 clearInterval 停止计时器。

function countdown(seconds) {
  const timer = setInterval(() => {
    console.log(seconds);
    seconds--;
    if (seconds < 0) {
      clearInterval(timer);
      console.log('倒计时结束');
    }
  }, 1000);
}
countdown(10);

使用 setTimeout 递归调用

通过递归调用 setTimeout 实现倒计时,避免 setInterval 可能带来的时间误差问题。

function countdown(seconds) {
  console.log(seconds);
  seconds--;
  if (seconds >= 0) {
    setTimeout(() => countdown(seconds), 1000);
  } else {
    console.log('倒计时结束');
  }
}
countdown(10);

使用 Date 对象计算剩余时间

利用 Date 对象获取精确的时间差,适用于需要高精度倒计时的场景。

function countdown(endTime) {
  const interval = setInterval(() => {
    const now = new Date().getTime();
    const distance = endTime - now;
    const seconds = Math.floor(distance / 1000);
    console.log(seconds);
    if (distance < 0) {
      clearInterval(interval);
      console.log('倒计时结束');
    }
  }, 1000);
}
const endTime = new Date().getTime() + 10000; // 10秒后
countdown(endTime);

在 HTML 页面中显示倒计时

将倒计时显示在网页上,动态更新 DOM 元素。

<div id="countdown"></div>
<script>
  function countdown(seconds) {
    const element = document.getElementById('countdown');
    const timer = setInterval(() => {
      element.innerHTML = seconds;
      seconds--;
      if (seconds < 0) {
        clearInterval(timer);
        element.innerHTML = '倒计时结束';
      }
    }, 1000);
  }
  countdown(10);
</script>

使用 async/await 实现倒计时

通过 async/await 结合 setTimeout 实现更清晰的异步倒计时逻辑。

js实现倒进时

async function countdown(seconds) {
  while (seconds >= 0) {
    console.log(seconds);
    await new Promise(resolve => setTimeout(resolve, 1000));
    seconds--;
  }
  console.log('倒计时结束');
}
countdown(10);

以上方法可以根据具体需求选择使用,适用于不同的倒计时场景。

标签: 倒进js
分享给朋友:

相关文章

js实现轮播

js实现轮播

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

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现游标

js实现游标

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

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…