vue.js写一个简单的倒计时

在项目中使用到了倒计时来提醒用户,为了自己和大家以后方便copy,写个小demo。

时 : 分 : 秒

data () {
    return {
      hour: 6,  // 小时
      minutes: 2, // 分钟
      seconds: 5, // 秒
    }
},
mounted () {
    this.timer()
},
methods: {
	timer () {
      let _this = this
      // 创建一个定时器
      let time = window.setInterval(function () {
        // 如果秒数为0 && 分钟数还没有为0
        if (_this.seconds === 0 && _this.minutes !== 0) {
          // 秒数变为59  分钟数--
          _this.seconds = 59
          _this.minutes -= 1
          // 都为0的时候 清除定时器
        } else if (_this.minutes === 0 && _this.seconds === 0 && _this.hour === 0) {
          window.clearInterval(time)
          // 分钟数和秒数同时为0  小时数--  分钟数和秒数都变为59
        } else if (_this.minutes === 0 && _this.seconds === 0) {
          _this.seconds = 59
          _this.minutes = 59
          _this.hour -= 1
        } else {
          _this.seconds -= 1
        }
      }, 1000)
    }
}

分 : 秒

想要实现 00 : 00的样式 可以使用插值表达式再使用三目运算来判断

let time = window.setInterval(function () {
	if (_this.seconds === 0 && _this.minutes !== 0) {
		_this.seconds = 59
		_this.minutes -= 1
	} else if (_this.minutes === 0 && _this.seconds === 0) {
        _this.seconds = 0
        window.clearInterval(time)
    } else {
        _this.seconds -= 1
    }
 }, 1000)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值