Vue 封裝防刷新考試倒計(jì)時(shí)組件的實(shí)現(xiàn)
本文詳細(xì)的介紹了防刷新考試倒計(jì)時(shí)組件 ,分享給大家,也給自己留個(gè)筆記,感興趣的可以了解下
<!-- 考試倒計(jì)時(shí)組件 --> <template> <div class="time"> <p>00:{{timerCount2}}:{{timerCount1}}</p> <button @click="reset">重新計(jì)時(shí)</button> </div> </template> <script> export default { name: "Time", data() { return { timeSeconds: 0, timeMinutes: 0, seconds: 59, // 秒 minutes: 1, // 分 timer: null }; }, methods: { num(n) { return n < 10 ? "0" + n : "" + n; }, // 重新計(jì)時(shí) reset() { sessionStorage.removeItem("answered"); window.location.reload(); localStorage.removeItem("startTime1"); localStorage.removeItem("startTime2"); clearInterval(this.timer); }, // 清除 clear() { localStorage.removeItem("startTime1"); localStorage.removeItem("startTime2"); sessionStorage.setItem("answered", 1); clearInterval(this.timer); }, // 倒計(jì)時(shí) timing() { let [startTime1, startTime2] = [ localStorage.getItem("startTime1"), localStorage.getItem("startTime2") ]; let nowTime = new Date().getTime(); if (startTime1) { let surplus = this.seconds - parseInt((nowTime - startTime1) / 1000); this.timeSeconds = surplus <= 0 ? 0 : surplus; } else { this.timeSeconds = this.seconds; localStorage.setItem("startTime1", nowTime); //存儲(chǔ)秒 } if (startTime2) { this.timeMinutes = startTime2; } else { this.timeMinutes = this.minutes; localStorage.setItem("startTime2", this.minutes); //存儲(chǔ)分 } this.timer = setInterval(() => { if ( this.timeSeconds == 0 && this.timeMinutes != 0 && this.timeMinutes > 0 ) { let nowTime = new Date().getTime(); this.timeSeconds = this.seconds; localStorage.setItem("startTime1", nowTime); this.timeMinutes--; localStorage.setItem("startTime2", this.timeMinutes); } else if (this.timeMinutes == 0 && this.timeSeconds == 0) { this.timeSeconds = 0; this.clear(); alert("考試時(shí)間到"); } else { this.timeSeconds--; } }, 1000); } }, mounted() { if (sessionStorage.getItem("answered") != 1) { this.timing(); } }, computed: { timerCount1() { return this.timeSeconds < 10 ? "0" + this.timeSeconds : "" + this.timeSeconds; }, timerCount2() { return this.timeMinutes < 10 ? "0" + this.timeMinutes : "" + this.timeMinutes; } }, destroyed() { // 退出后清除計(jì)時(shí)器 if (this.timer) { clearInterval(this.timer); } } }; </script> <style scoped> .time { color: #f72a3a; font-weight: bold; font-size: 26px; } </style>
到此這篇關(guān)于Vue 封裝防刷新考試倒計(jì)時(shí)組件的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Vue 防刷新考試倒計(jì)時(shí)組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue3后臺(tái)管理系統(tǒng)之創(chuàng)建和配置項(xiàng)目
- VUE+element開(kāi)發(fā)后臺(tái)管理的搜索功能
- vue后臺(tái)管理如何配置動(dòng)態(tài)路由菜單
- Vue后臺(tái)管理系統(tǒng)之實(shí)現(xiàn)分頁(yè)功能示例
- Vue+Element的后臺(tái)管理框架的整合實(shí)踐
- vue后臺(tái)管理添加多語(yǔ)言功能的實(shí)現(xiàn)示例
- Vue 電商后臺(tái)管理項(xiàng)目階段性總結(jié)(推薦)
- Vue考試系統(tǒng)的后臺(tái)管理功能開(kāi)發(fā)示例解讀
相關(guān)文章
vue2.0 和 animate.css的結(jié)合使用
animate.css是一款前端動(dòng)畫(huà)庫(kù),相似的有velocity-animate。這篇文章給大家介紹vue2.0 和 animate.css的結(jié)合使用,需要的朋友參考下吧2017-12-12Vue動(dòng)態(tài)加載圖片在跨域時(shí)無(wú)法顯示的問(wèn)題及解決方法
這篇文章主要介紹了解決VUE動(dòng)態(tài)加載圖片在跨域時(shí)無(wú)法顯示的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03vue自定義密碼輸入框解決瀏覽器自動(dòng)填充密碼的問(wèn)題(最新方法)
這篇文章主要介紹了vue自定義密碼輸入框解決瀏覽器自動(dòng)填充密碼的問(wèn)題,通過(guò)將密碼輸入框的type設(shè)置為text,修改樣式上的顯示,來(lái)實(shí)現(xiàn)既可以讓瀏覽器不自動(dòng)填充密碼,又可以隱藏密碼的效果,需要的朋友可以參考下2023-04-04vue2使用?element表格展開(kāi)功能渲染子表格的方式
這篇文章主要介紹了vue2使用?element表格展開(kāi)功能渲染子表格的方式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01vue項(xiàng)目前端微信JSAPI與外部H5支付相關(guān)實(shí)現(xiàn)過(guò)程及常見(jiàn)問(wèn)題
這篇文章主要介紹了vue項(xiàng)目前端微信JSAPI與外部H5支付相關(guān)實(shí)現(xiàn)過(guò)程及常見(jiàn)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04vue使用localStorage保存登錄信息 適用于移動(dòng)端、PC端
這篇文章主要為大家詳細(xì)介紹了vue使用localStorage保存登錄信息 適用于移動(dòng)端、PC端,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05vuex實(shí)現(xiàn)購(gòu)物車(chē)的增加減少移除
這篇文章主要為大家詳細(xì)介紹了vuex實(shí)現(xiàn)購(gòu)物車(chē)的增加減少移除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06羊了個(gè)羊通關(guān)腳本Vue?node實(shí)現(xiàn)版本
這篇文章主要為大家介紹了羊了個(gè)羊通關(guān)腳本Vue?node實(shí)現(xiàn)版本,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09