当前位置:首页 > JavaScript

js实现倒退

2026-04-06 12:58:30JavaScript

实现倒计时功能

使用JavaScript实现倒计时功能可以通过setIntervalsetTimeout结合日期计算来完成。以下是几种常见的倒计时实现方式。

基础倒计时(固定时长)

let count = 10; // 倒计时秒数
const timer = setInterval(() => {
  console.log(count);
  count--;
  if (count < 0) {
    clearInterval(timer);
    console.log('倒计时结束');
  }
}, 1000);

目标时间倒计时

计算当前时间与目标时间的差值,实现精确到天、小时、分钟和秒的倒计时。

js实现倒退

function countdown(targetDate) {
  const timer = setInterval(() => {
    const now = new Date();
    const distance = targetDate - now;

    if (distance <= 0) {
      clearInterval(timer);
      console.log('倒计时结束');
      return;
    }

    const days = Math.floor(distance / (1000 * 60 * 60 * 24));
    const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    const seconds = Math.floor((distance % (1000 * 60)) / 1000);

    console.log(`${days}天 ${hours}小时 ${minutes}分钟 ${seconds}秒`);
  }, 1000);
}

const targetDate = new Date('2024-12-31T23:59:59');
countdown(targetDate);

使用requestAnimationFrame

对于需要更平滑动画效果的倒计时,可以使用requestAnimationFrame

js实现倒退

let count = 10;
function animateCountdown() {
  console.log(count);
  count--;
  if (count >= 0) {
    requestAnimationFrame(animateCountdown);
  } else {
    console.log('倒计时结束');
  }
}
animateCountdown();

格式化输出

如果需要将倒计时显示在网页上,可以结合DOM操作。

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

暂停和继续功能

为倒计时添加暂停和继续功能,增强交互性。

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;
  console.log(isPaused ? '已暂停' : '继续');
}

startCountdown();

这些方法涵盖了从简单到复杂的倒计时实现,适用于不同场景需求。

标签: js
分享给朋友:

相关文章

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js实现图

js实现图

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

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…

js实现删除

js实现删除

使用 splice 方法删除数组元素 splice 方法可以删除数组中的元素,并返回被删除的元素。它接受两个参数:起始索引和要删除的元素数量。 const array = [1, 2, 3, 4…