基于vue实现倒计时功能 天 /时/分/秒 / / 时/分秒

其实很简单,这里就直接上代码了,都写好注释了

 

天/时/分/秒

//倒计时
			    countTime: function() {
				// 定义结束时间戳
				const end = Date.parse(new Date('2020-1-12 10:10:10'))
				// 定义当前时间戳
				const now = Date.parse(new Date())
				// 做判断当倒计时结束时都为0
				if (now >= end) {
					this.d = 0
					this.h = 0
					this.m = 0
					this.s = 0
					return
				}
				// 用结束时间减去当前时间获得倒计时时间戳
				const msec = end - now
				let d = parseInt(msec / 1000 / 60 / 60 / 24) //算出天数
				let h = parseInt(msec / 1000 / 60 / 60 % 24)//算出小时数
				let m = parseInt(msec / 1000 / 60 % 60)//算出分钟数
				let s = parseInt(msec / 1000 % 60)//算出秒数
				//给数据赋值
				this.d = d
				this.h = h > 9 ? h : '0' + h
				this.m = m > 9 ? m : '0' + m
				this.s = s > 9 ? s : '0' + s
				//定义this指向
				const that = this
				// 使用定时器 然后使用递归 让每一次函数能调用自己达到倒计时效果
				setTimeout(function () {
					that.countTime()
				}, 1000)
			}

时/分/秒

// 倒计时
			countTime: function () {
				// 获取当前时间
				var date = new Date();
				var now = date.getTime();
				//设置截止时间
				var endDate = new Date("2020-1-22 23:23:23");
				var end = endDate.getTime();
				//时间差
				var leftTime = end - now;
				//定义变量 d,h,m,s保存倒计时的时间
				if (leftTime >= 0) {
					this.d = Math.floor(leftTime / 1000 / 60 / 60 / 24);
					this.h = Math.floor(leftTime / 1000 / 60 / 60 % 24);
					this.m = Math.floor(leftTime / 1000 / 60 % 60);
					this.s = Math.floor(leftTime / 1000 % 60);
					this.sum_h = this.d * 24 + this.h
				}
				// console.log(this.s);
				//递归每秒调用countTime方法,显示动态时间效果
				setTimeout(this.countTime, 1000);
			}

最后回调一下这个函数就行了

mounted() {
    this.countTime()
},

data() {
    return {
        d:'',
        h: '',
        m: '',
        s: '',
        sum_h: ''
    }
}

以上就是全部代码了,根据需要来实现倒计时,有什么问题欢迎下方留言,一起讨论

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值