倒计时在开发过程中经常会遇到,常见的如:获取验证码时需要倒计时,付款时的付款时间倒计时,下订单时的倒计时,今天就做一个简单的总结

普通的倒计时方法1.0版本

    countDown() {
        // 定义一个一秒的计时器,返回一个ID值
        const clockId = setInterval(() => { 
          // 判断剩余时间>1的情况下,时间自减1
          if (this.countNumber > 1) {
            this.countNumber -- 
          } else {
            // 剩余时间为0的情况下,清除定时器,初始化数据
            clearInterval(clockId)
            this.isCount = !this.isCount
            this.countNumber = 60
          }
        }, 1000)
      }

1.0版本的方法是大部分人容易理解的方法,易上手,但是该方法略过冗余,于是1.1版本来咯~~

升级版的倒计时方法1.1版本

    countDown(){
     const clockId = setInterval(()=>{
      // 时间先自减1,再判断是否<=0
      //(为了程序严谨,以防未知情况下出现的时间<0,所以判断条件为<=0)
      this.countNumber --
       if (this.countNumber < 0) {
        clearInterval(clockId)
        this.countNumber = 60
       }
     }, 1000)
    }
 

以上的1.1版本更轻松地实现了倒计时的功能,但是我们依然不能满足。在平时的开发过程中,倒计时的功能还会和时间的转换结合在一起,那么继续往下看拓展版吧~~

    <div class="count-tips">{{ timeCycle(countNumber) }}</div>
     countDown() {
      const clockId = setInterval(()=>{
      this.countNumber --;
      if(this.countNumber <= 0){
        clearInterval(clockId);
       }
      },1000)
     }

时间转换方法

     timeCycle(countNumber) {
      return ~~(countNumber / 60) + '分' + countNumber % 60 + '秒'
    },

实现效果如下:

count-down.png

技术总结:

1.定义计时器的之后,别忘了在满足条件后去取消定时器,不然会永久执行
2.倒计时需要在剩余时间大于0的条件下执行

标签: js倒计时

已有 10 条评论

  1. 探讨传奇私服登录器解压失败的原因与解决策略:https://501h.com/fugu/2024-08-29/31368.html

  2. 文章中的实用建议和操作指南,让读者受益匪浅,值得珍藏。

  3. 文章中的实用建议和操作指南,让读者受益匪浅,值得珍藏。

  4. 跨界融合的尝试为文章注入新鲜活力。

  5. 新车新盘 嘎嘎稳 嘎嘎靠谱

  6. 华纳东方明珠客服电话是多少?(▲18288362750?《?微信STS5099? 】
    如何联系华纳东方明珠客服?(▲18288362750?《?微信STS5099? 】
    华纳东方明珠官方客服联系方式?(▲18288362750?《?微信STS5099?
    华纳东方明珠客服热线?(▲18288362750?《?微信STS5099?
    华纳东方明珠24小时客服电话?(▲18288362750?《?微信STS5099? 】
    华纳东方明珠官方客服在线咨询?(▲18288362750?《?微信STS5099?

  7. 新盛客服电话是多少?(?183-8890-9465—《?薇-STS5099】【
    新盛开户专线联系方式?(?183-8890--9465—《?薇-STS5099】【?扣6011643??】
    新盛客服开户电话全攻略,让娱乐更顺畅!(?183-8890--9465—《?薇-STS5099】客服开户流程,华纳新盛客服开户流程图(?183-8890--9465—《?薇-STS5099】

  8. 果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
    果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

  9. 华纳圣淘沙开户步骤详解(183-8890-9465—?薇-STS5099【6011643】

    华纳圣淘沙公司开户流程全解析(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司账户注册指南(183-8890-9465—?薇-STS5099【6011643】
    新手如何开通华纳圣淘沙公司账户(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙企业开户标准流程(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司开户:从零到一(183-8890-9465—?薇-STS5099【6011643】
    官方指南:华纳圣淘沙公司开户流程(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司开户流程说明书(183-8890-9465—?薇-STS5099【6011643】

  10. 华纳圣淘沙开户步骤详解(183-8890-9465—?薇-STS5099【6011643】

    华纳圣淘沙公司开户流程全解析(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司账户注册指南(183-8890-9465—?薇-STS5099【6011643】
    新手如何开通华纳圣淘沙公司账户(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙企业开户标准流程(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司开户:从零到一(183-8890-9465—?薇-STS5099【6011643】
    官方指南:华纳圣淘沙公司开户流程(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司开户流程说明书(183-8890-9465—?薇-STS5099【6011643】

添加新评论