vue實現時間倒計時功能

本文實例為大傢分享瞭vue實現時間倒計時功能的具體代碼,供大傢參考,具體內容如下

需求:

做一個剩餘支付時間倒計時的效果

效果圖:

代碼:

<template>
 <div>剩餘支付時間:{{count}}</div>
</template>
<script>
export default {
    data() {
        return {
            count: '', //倒計時
            seconds: 864000 // 10天的秒數
        }
    },
    mounted() {
        this.Time() //調用定時器
    },
    methods: {
        // 天 時 分 秒 格式化函數
        countDown() {
            let d = parseInt(this.seconds / (24 * 60 * 60))
            d = d < 10 ? "0" + d : d
            let h = parseInt(this.seconds / (60 * 60) % 24);
            h = h < 10 ? "0" + h : h
            let m = parseInt(this.seconds / 60 % 60);
            m = m < 10 ? "0" + m : m
            let s = parseInt(this.seconds % 60);
            s = s < 10 ? "0" + s : s
            this.count = d + '天' + h + '時' + m + '分' + s + '秒'
        },
        //定時器沒過1秒參數減1
        Time() {
            setInterval(() => {
                this.seconds -= 1
                this.countDown()
            }, 1000)
        },
    }
}
</script>

時間的秒數可以根據自己的需求進行修改

再為大傢分享一段代碼:vue時分秒倒計時

countTime: function () {
        //獲取當前時間
        var date = new Date();
        var now = date.getTime();
        //設置截止時間
        var endDate = new Date("2018-10-22 23:23:23");
        var end = endDate.getTime();
        //時間差
        var leftTime = end - now;
        //定義變量 d,h,m,s保存倒計時的時間
        if (leftTime >= 0) {
                    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);
         }
          console.log(this.s);
          //遞歸每秒調用countTime方法,顯示動態時間效果
            setTimeout(this.countTime, 1000);
 }

更多關於倒計時的文章請查看專題:《倒計時功能》

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: