vue 倒计时

vue项目中倒计时功能

<template>
  <div>
    <p>倒计时</p>
    <p>{{day}}{{hour}}{{minute}}{{seconds}}</p>
  </div>
</template>

<script>
export default {
  data () {
    return {
      day: '',
      hour: '',
      minute: '',
      seconds: ''
    }
  },
  methods: {
    countTime () {
      // 获取当前时间
      var date = new Date()
      var now = date.getTime()
      // 设置截止时间
      // 如果是移动端 2021-9-17 ios不兼容  2021/9/17
      var endDate = new Date("2021-9-17 15:58:00")
      var end = endDate.getTime()
      // 时间差
      var leftTime = end-now
      // 定义变量 h,m,s保存倒计时的时间
      var h, m, s
      if (leftTime >= 0) {
        this.day = Math.floor(leftTime/1000/60/60/24)
        h = Math.floor(leftTime/1000/60/60%24)
        this.hour = h <10? '0'+h : h
        m = Math.floor(leftTime/1000/60%60)
        this.minute = m <10? '0'+m : m
        s = Math.floor(leftTime/1000%60)
        this.seconds = s <10? '0'+s : s
        this.isEnd = false
      } else {
        this.day = '0'
        this.hour = '00'
        this.minute = '00'
        this.seconds = '00'
        this.isEnd = true
      }
      if (Number(this.hour) === 0 && Number(this.day) === 0 && Number(this.min) === 0 && Number(this.second) === 0) {
        return
      } else {
        // 递归每秒调用countTime方法,显示动态时间效果,
        setTimeout(this.countTime, 1000)
      }
    },
  }
}
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值