欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實現(xiàn)秒殺倒計時組件

 更新時間:2021年04月21日 10:56:03   作者:GuoyeZhang  
這篇文章主要為大家詳細介紹了vue實現(xiàn)秒殺倒計時組件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue實現(xiàn)秒殺倒計時組件的具體代碼,供大家參考,具體內(nèi)容如下

下面是使用Vue實現(xiàn)秒殺倒計時組件

開發(fā)思路

1.請求服務(wù)器獲取這一刻的服務(wù)器時間(統(tǒng)一以服務(wù)器時間為基準)
2.獲取用戶當前電腦時間與服務(wù)器時間比對,獲取時間差。以當前電腦時間-減去時間差為最終時間(定義為服務(wù)器當前時間)
3.設(shè)置秒殺開始時間
4.秒殺時間與服務(wù)器當前時間比對,獲取時間差(共X秒)
5.根據(jù)X秒計算出離秒殺開始時間還有x天x小時x分鐘x秒

代碼實現(xiàn)

下面代碼只展示第4、第5步驟

組件CountDown.vue

<template>
  <div>
      <input type="datetime-local" :min="currentTime" placeholder="請輸入秒殺開始時間" v-model="startTime">
      <button @click="submit">開始計時</button>
  </div>
  <div>
      <h1>{{ countDownTime }}</h1>
  </div>
</template>

<script>
let timer = null;
let tipTextPrefix = '離秒殺開始還有: ';
import moment from "moment";
export default {
    name: 'CountDown',
    data() { return {
        currentTime: moment().format('YYYY-MM-DDTHH:mm'), // 請使用步驟1-3計算出來的服務(wù)器時間
        startTime: moment().format('YYYY-MM-DDTHH:mm'),
        countDownTime: tipTextPrefix + '0天 0小時 0分鐘 0秒'
    }},
    methods: {
        submit: function() {
            const _this = this;
            clearInterval(timer);
            timer = setInterval(() => {
                _this.countDownTime = _this.countDown();
            }, 1000);
        },
        countDown: function() {
            console.log(this.startTime);
            const seconds = moment(this.startTime).diff(new Date, 'seconds');
            if (seconds <= 0) {
                clearInterval(timer);
                return '秒殺已開始';
            }
            const second = seconds%60;
            const minutes = (seconds-second) / 60;
            const minute = minutes%60;
            const hours = (minutes-minute) / 60;
            const hour = hours%24;
            const day = (hours-hour) / 24;
            const res = tipTextPrefix + day + '天 '+ hour + '小時 '+ minute + '分鐘 '+ second + '秒 ';
            return res;
        }
    },
}
</script>

<style>

</style>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • django使用channels2.x實現(xiàn)實時通訊

    django使用channels2.x實現(xiàn)實時通訊

    這篇文章主要介紹了django使用channels2.x實現(xiàn)實時通訊,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • vue-router路由模式詳解(小結(jié))

    vue-router路由模式詳解(小結(jié))

    這篇文章主要介紹了vue-router路由模式詳解(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • vue中如何動態(tài)設(shè)置css樣式的hover

    vue中如何動態(tài)設(shè)置css樣式的hover

    這篇文章主要介紹了vue中如何動態(tài)設(shè)置css樣式的hover,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 基于vue.js實現(xiàn)圖片輪播效果

    基于vue.js實現(xiàn)圖片輪播效果

    這篇文章主要為大家詳細介紹了基于vue.js實現(xiàn)圖片輪播效果,vue如何實現(xiàn)輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Vue的底層原理你了解多少

    Vue的底層原理你了解多少

    這篇文章主要為大家詳細介紹了Vue的底層原理,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 最全vue的vue-amap使用高德地圖插件畫多邊形范圍的示例代碼

    最全vue的vue-amap使用高德地圖插件畫多邊形范圍的示例代碼

    這篇文章主要介紹了最全vue的vue-amap使用高德地圖插件畫多邊形范圍,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • vue學習筆記之v-if和v-show的區(qū)別

    vue學習筆記之v-if和v-show的區(qū)別

    本篇文章主要介紹了vue學習筆記之v-if和v-show的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 優(yōu)雅的處理vue項目異常實戰(zhàn)記錄

    優(yōu)雅的處理vue項目異常實戰(zhàn)記錄

    這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅的處理vue項目異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用vue具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • 詳解如何配置vue-cli3.0的vue.config.js

    詳解如何配置vue-cli3.0的vue.config.js

    這篇文章主要介紹了詳解如何配置vue-cli3.0的vue.config.js,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 詳解vue文件中使用echarts.js的兩種方式

    詳解vue文件中使用echarts.js的兩種方式

    這篇文章主要介紹了詳解vue文件中使用echarts.js的兩種方式,主要介紹了兩種使用方式,一種是以組件的形式另一種直接引入,非常具有實用價值,需要的朋友可以參考下
    2018-10-10

最新評論