页面写一个获得验证码的按钮, 点击按钮后, 会60秒的动态倒计时.
当倒计时的时候, 跳转别的页面, 还能继续倒计时, 在倒计时还没结束的时候跳转回原页面, 倒计时的按钮还在继续剩余的倒计时显示, 这种操作怎么实现?
这是我的倒计时Js代码, 应该怎么做?
我用的是bootStrap4 + jQuery
function invokeSetTime() {
var verifyCodeBtn = $("#verifyCode_btn");
// 倒计时
var countdown = 60;
setTime(verifyCodeBtn);
function setTime(obj) {
if (countdown === 0) {
$(obj).attr("disabled", false);
$(obj).text("获取验证码");
countdown = 60;
return;
}
else {
$(obj).attr("disabled", true);
$(obj).text("(" + countdown + ")s后重发");
countdown--;
}
setTimeout(function() {
setTime(obj)
}
,1000)
}
}
前端缓存,localstorage保存和获取值。即便发生了跳转,这个值也不会消失。不过要及时清理掉
localstorage或者cookie都可以存的吧,没用过,感谢楼上知识普及,学到了
你可以考虑用缓存来存放你这个倒计时的数字,进入页面的时候从缓存里取,取到了就表示有倒计时未清零,取不到就赋值,注意倒计时结束后缓存的数据也得清就好了