当前位置:首页 > 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);

目标时间倒计时

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

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

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>

暂停和继续功能

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

js实现倒退

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实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现点击显示和隐藏

js实现点击显示和隐藏

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

js实现游标

js实现游标

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

js实现滑动

js实现滑动

实现滑动效果的方法 在JavaScript中实现滑动效果可以通过多种方式完成,以下是几种常见的实现方法: 使用CSS过渡和JavaScript触发 通过CSS定义过渡效果,JavaScript控制触…