vue實(shí)現(xiàn)倒計(jì)時(shí)功能
本文實(shí)例為大家分享了vue實(shí)現(xiàn)倒計(jì)時(shí)功能的具體代碼,供大家參考,具體內(nèi)容如下
通過父組件傳入的結(jié)束時(shí)間減去當(dāng)前日期得到剩余時(shí)間
1.子組件部分
<div class="itemend">
<p class="itemss">倒計(jì)時(shí)<span>{{day}}</span>天<span>{{hour}}</span>時(shí)<span>{{minute}}</span>分<span>{{second}}</span>秒</p>
</div>
代碼:
data() {
return {
day: "", //天
hour: "", //時(shí)
minute: "", //分
second: "", //秒
flag: false,
};
},
mounted() {
let time = setInterval(() => {
if (this.flag == true) {
clearInterval(time);
}
this.timeDown();
}, 500);
},
props: {
endTime: {
type: String,
},
},
methods: {
timeDown() {
const endTime = new Date(this.endTime);
const nowTime = new Date();
let leftTime = parseInt((endTime.getTime() - nowTime.getTime()) / 1000);
let d = parseInt(leftTime / (24 * 60 * 60));
let h = this.formate(parseInt((leftTime / (60 * 60)) % 24));
let m = this.formate(parseInt((leftTime / 60) % 60));
let s = this.formate(parseInt(leftTime % 60));
if (leftTime <= 0) {
this.flag = true;
this.$emit("time-end");
}
this.day = d; //天
this.hour = h; //時(shí)
this.minute = m; //分
this.second = s; //秒
},
formate(time) {
if (time >= 10) {
return time;
} else {
return `0${time}`;
}
},
}
2.父組件引用
<template>
<div>
<Times :endTime='timeEnd'></Times>
</div>
</template>
import Times from "@/components/time";
export default {
name: "Home",
data() {
return {
timeEnd: "2021-3-30 9:50" //結(jié)束時(shí)間(蘋果手機(jī)無法解析"-" 可以將格式改為2021/3/30)
},
components: {
Times,
},
};
更多關(guān)于倒計(jì)時(shí)的文章請查看專題:《倒計(jì)時(shí)功能》
更多JavaScript時(shí)鐘特效點(diǎn)擊查看:JavaScript時(shí)鐘特效專題
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue寫一個(gè)簡單的倒計(jì)時(shí)按鈕功能
- 簡單實(shí)現(xiàn)vue驗(yàn)證碼60秒倒計(jì)時(shí)功能
- vue2.0實(shí)現(xiàn)倒計(jì)時(shí)的插件(時(shí)間戳 刷新 跳轉(zhuǎn) 都不影響)
- 基于vue的短信驗(yàn)證碼倒計(jì)時(shí)demo
- vue實(shí)現(xiàn)驗(yàn)證碼按鈕倒計(jì)時(shí)功能
- vue中多個(gè)倒計(jì)時(shí)實(shí)現(xiàn)代碼實(shí)例
- vue實(shí)現(xiàn)商城秒殺倒計(jì)時(shí)功能
- vue實(shí)現(xiàn)倒計(jì)時(shí)獲取驗(yàn)證碼效果
- vue設(shè)計(jì)一個(gè)倒計(jì)時(shí)秒殺的組件詳解
- Vue驗(yàn)證碼60秒倒計(jì)時(shí)功能簡單實(shí)例代碼
相關(guān)文章
vue uniapp 防止按鈕多次點(diǎn)擊的三種實(shí)現(xiàn)方式
最近的項(xiàng)目完成后,在性能優(yōu)化階段需要做按鈕的防止重復(fù)點(diǎn)擊功能,本文主要介紹了vue uniapp 防止按鈕多次點(diǎn)擊的三種實(shí)現(xiàn)方式,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08
詳解10分鐘學(xué)會(huì)vue滾動(dòng)行為
本篇文章主要介紹了vue滾動(dòng)行為,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
Vue3實(shí)現(xiàn)全局loading指令的示例詳解
這篇文章主要介紹了Vue3實(shí)現(xiàn)全局loading指令,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
通過vue-router懶加載解決首次加載時(shí)資源過多導(dǎo)致的速度緩慢問題
這篇文章主要介紹了vue-router懶加載解決首次加載時(shí)資源過多導(dǎo)致的速度緩慢問題,文中單獨(dú)給大家介紹了vue router路由懶加載問題,需要的朋友可以參考下2018-04-04

