**

直接贴代码

**

1.一小时以内倒计时(30分钟demo)

 countdown () {
     const end = this.update_time*1000   // update_time是后台返的数据,代表创建订单的那一个时刻的毫秒数
     const now = new Date().getTime()   // 获取当前时间的毫秒数
     const minus = now - end
     const m_30 = 30*60*1000 // 30分钟毫秒数,如十分钟倒计时,公式即为10*60*100,以此类推

     const differ = m_30 - minus   // 时间差

     let m = parseInt(differ / 1000 / 60 % 60)
     let s = parseInt(differ / 1000 % 60)

     this.m = m > 9 ? m : '0' + m
     this.s = s > 9 ? s : '0' + s

     const that = this
     if(m >= 0 && s >= 0) {
         if(m == 0 && s == 0) {
             return
         }
         setTimeout(function () {
             that.countdown()
         }, 1000)
     }
 },

2.超出分钟制,计算小时和天数

countdown () {
     const end = this.update_time*1000   // update_time是后台返的数据,代表创建订单的那一个时刻的毫秒数
     const now = new Date().getTime()   // 获取当前时间的毫秒数
     const minus = now - end
     const m_30 = 30*60*1000 // 30分钟毫秒数,如十分钟倒计时,公式即为10*60*100,以此类推

     const differ = m_30 - minus   // 时间差

     let day = parseInt(differ / 1000 / 60 / 60 / 24)
     let h = parseInt(differ / 1000 / 60 / 60 % 24)
     let m = parseInt(differ / 1000 / 60 % 60)
     let s = parseInt(differ / 1000 % 60)

     this.day = day
     this.hr = hr > 9 ? hr : '0' + hr
     this.m = m > 9 ? m : '0' + m
     this.s = s > 9 ? s : '0' + s

     const that = this
     if(m >= 0 && s >= 0) {
         if(m == 0 && s == 0) {
             return
         }
         setTimeout(function () {
             that.countdown()
         }, 1000)
     }
 },
Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐