时间:2021-05-26
开启倒计时,直接保存到vuex中,且存储到本地持久化
// state.jsconst runTime = localStorage.getItem('time');paymentRunTime:runTime// mutations.jsTimeReduction(state) { this.timerId = setInterval(() => { if (state.paymentRunTime === 0) { state.paymentRunTime = 60; return clearInterval(this.timerId) } state.paymentRunTime -= 1; localStorage.setItem('time',state.paymentRunTime) },1000); },在需要用到的页面钩子函数调用方法, created(){ this.$store.commit(TimeReduction) }
知识点扩展:
倒计时实例代码:
<template><div class="captcha-row"><input class="captcha-input" placeholder="输入验证码" auto-focus /><div v-if="showtime===null" class="captcha-button" @click="send">获取验证码</div><div v-else class="captcha-button">{{showtime}}</div></div></template><script>export default {data() {return {// 计时器,注意需要进行销毁timeCounter: null,// null 则显示按钮 秒数则显示读秒showtime: null}},methods: {// 倒计时显示处理countDownText(s) {this.showtime = `${s}s后重新获取`},// 倒计时 60秒 不需要很精准countDown(times) {const self = this;// 时间间隔 1秒const interval = 1000;let count = 0;self.timeCounter = setTimeout(countDownStart, interval);function countDownStart() {if (self.timeCounter == null) {return false;}count++self.countDownText(times - count + 1);if (count > times) {clearTimeout(self.timeCounter)self.showtime = null;} else {self.timeCounter = setTimeout(countDownStart, interval)}}},send() {this.countDown(60);}},}</script>以上就是vue倒计时刷新页面不会从头开始的解决方法的详细内容,更多关于vue倒计时刷新页面不会从头开始的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
写了一个5分钟倒计时的代码,有的时候代码需要刷新,然后倒计时又从4:59开始了,我想到的一个解决办法,就是使用缓存,将开始倒计时的时间加上要倒计时的5分钟设为缓
我发现好多倒计时的插件,刷新都会变成从头再来,于是自己用vue2.0写了一个,测试通过,直接上代码如下是组件代码:{{content}}exportdefaul
无刷新页面再次操作form表单时,点击无效果重点来了!解决方法!需要form.render();代码如下:layui.use('form',function()
下面一段代码给大家分享基于jquery实现的页面倒计时并刷新效果,代码如下所示:varintDiff=parseInt(600);//倒计时总秒数量functi
精确到毫秒秒杀倒计时PHP源码实例,前台js活动展示倒计时,后台计算倒计时时间。每0.1秒定时刷新活动倒计时时间。PHP://注意:php的时间是以秒算。js的