JS 前端同时设置多个定时器

time = 10;  //前端显示的倒计时时间
pageTimer = {};  // 计时器数组
timerNumber = 0;  // 计时器id



// 显示倒计时,点击触发倒计时:
start() {
  this.time = 10;
  this.pageTimer[this.timerNumber] = setInterval(() => {
    this.countDown();
  }, 1000);
  this.timerNumber = this.timerNumber + 1;
 
}

// 判断计时是否结束
countDown() {
  if (this.time === 0) {
    //等于0时清除计时
   if (JSON.stringify(this.pageTimer) !== "{}") { //判断计时器是否为空
      for (var each in this.pageTimer) {
          window.clearInterval(this.pageTimer[each]);
         }
      }
  } else {
    this.time = this.time - 1;  // 时间递减
  }
 
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端实现多个商品列表的倒计时,可以使用 JavaScript定时器来实现。以下是一个简单的实现示例: HTML 代码: ```html <div class="countdown"> <div class="countdown-item"> <span class="countdown-value" id="countdown-1"></span> <span class="countdown-label">秒</span> </div> <div class="countdown-item"> <span class="countdown-value" id="countdown-2"></span> <span class="countdown-label">秒</span> </div> <!-- 添加更多商品倒计时 --> </div> ``` CSS 代码: ```css .countdown { display: flex; justify-content: center; } .countdown-item { margin: 0 10px; } .countdown-value { font-size: 24px; font-weight: bold; } .countdown-label { font-size: 16px; margin-left: 5px; } ``` JavaScript 代码: ```js // 假设商品倒计时的时间戳已经存储在一个数组中,每个时间戳对应一个商品 const countdownTimestamps = [1609459200, 1609462800]; // 获取当前时间戳 const currentTimestamp = Math.floor(Date.now() / 1000); // 计算每个商品的倒计时秒数 const countdownSeconds = countdownTimestamps.map(timestamp => timestamp - currentTimestamp); // 获取倒计时元素 const countdownElements = document.querySelectorAll('.countdown-value'); // 更新倒计时元素的显示 function updateCountdown() { countdownSeconds.forEach((seconds, index) => { if (seconds <= 0) { countdownElements[index].textContent = '已结束'; } else { const minutes = Math.floor(seconds / 60); const remainingSeconds = seconds % 60; countdownElements[index].textContent = `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`; } }); } // 每秒更新一次倒计时 setInterval(() => { countdownSeconds.forEach((seconds, index) => { if (seconds > 0) { countdownSeconds[index] = seconds - 1; } }); updateCountdown(); }, 1000); // 页面加载时更新一次倒计时 updateCountdown(); ``` 这段代码实现了在页面中显示多个商品的倒计时,每秒钟自动更新一次。可以根据实际需求修改时间戳数组和 HTML 结构以适应不同的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值