当前位置:首页 > JavaScript

js 实现倒数

2026-02-01 15:01:34JavaScript

实现 JavaScript 倒数功能

使用 setInterval 实现倒数计时器

let count = 10; // 设置初始倒数值
const timer = setInterval(() => {
  console.log(count);
  count--;
  if (count < 0) {
    clearInterval(timer);
    console.log('倒数结束');
  }
}, 1000); // 每秒执行一次

使用 setTimeout 递归实现倒数

function countdown(seconds) {
  console.log(seconds);
  if (seconds > 0) {
    setTimeout(() => countdown(seconds - 1), 1000);
  } else {
    console.log('倒数结束');
  }
}
countdown(10); // 从10开始倒数

带有暂停和继续功能的倒数计时器

let count = 10;
let timer;
let isPaused = false;

function startCountdown() {
  timer = setInterval(() => {
    if (!isPaused) {
      console.log(count);
      count--;
      if (count < 0) {
        clearInterval(timer);
        console.log('倒数结束');
      }
    }
  }, 1000);
}

function togglePause() {
  isPaused = !isPaused;
}

startCountdown();
// 调用 togglePause() 可以暂停或继续倒数

使用 Promise 和 async/await 实现倒数

async function asyncCountdown(seconds) {
  for (let i = seconds; i >= 0; i--) {
    await new Promise(resolve => setTimeout(resolve, 1000));
    console.log(i);
  }
  console.log('倒数结束');
}
asyncCountdown(10);

显示在页面上的倒数计时器

HTML:

<div id="countdown">10</div>
<button id="startBtn">开始</button>
<button id="pauseBtn">暂停</button>

JavaScript:

let count = 10;
let timer;
let isRunning = false;

document.getElementById('startBtn').addEventListener('click', () => {
  if (!isRunning) {
    isRunning = true;
    timer = setInterval(() => {
      count--;
      document.getElementById('countdown').textContent = count;
      if (count <= 0) {
        clearInterval(timer);
        isRunning = false;
      }
    }, 1000);
  }
});

document.getElementById('pauseBtn').addEventListener('click', () => {
  clearInterval(timer);
  isRunning = false;
});

这些方法提供了从简单到复杂的各种倒数实现方式,可以根据具体需求选择合适的方案。

js 实现倒数

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

相关文章

js 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.defin…

js实现轮播图

js实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let…

js实现轮播

js实现轮播

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

js实现动画

js实现动画

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