vue倒计时

vue倒记时示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>倒计时</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.9/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <div class="timerrunning">{{day}}天{{hr}}:{{min}}:{{sec}}</div>
    </div>
    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                day:0,
                hr:0,
                min:0,
                sec:0
            },
            mounted:function(){
                this.countdown()
            },
            methods:{
                countdown: function(){
                    //定义结束时间戳
                    const end = Date.parse(new Date('2020-11-01 00:00:00'))
                    //定义当前时间戳
                    const now = Date.parse(new Date())
                    if(now>=end){
                        this.day=0
                        this.hr=0
                        this.min=0
                        this.sec=0
                        return
                    }
                    //用结束时间戳减去当前时间获得倒计时时间戳
                    const msec = end-now
                    let day=parseInt(msec/1000/60/60/24)//天数
                    let hr=parseInt(msec/1000/60/60%24)//小时
                    let min=parseInt(msec/1000/60%60)//分钟
                    let sec=parseInt(msec/1000%60)//秒数
                    //给数据赋值
                    this.day=day
                    this.hr=hr>9?hr:'0'+hr
                    this.min=min>9?min:'0'+min
                    this.sec=sec>9?sec:'0'+sec
                    //定义this指向
                    const that=this
                    //使用定时器,然后使用递归让每一次函数能调用自己达到倒计时效果
                    setTimeout(function(){
                        that.countdown()
                    },1000)
                }
            }
        })
    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值