看到了网络上很多把发送短信60 防止刷新的办法。哥们今天也遇到了,然后参照网上的思路自己总结如下,希望给下次遇到的跟我一样的童鞋一点帮助。
思路如下:
1.当点击发送按钮的时候需要改变按钮的变化状态,就是所谓的剩余时间
2.为防止点击在倒计时的时间内再次点击,需要给点击按钮加上disable属性 attr(disabled,true)
3.为防止刷新需要把时间存进cookie 在这儿我跟大家的思路不一样,我验证是可以的,看大家有什么好的建议
我把cookie存入发送短信的时间sendMessageTime cookie中存入短信倒计时时间当页面加载时拿当前时间减去发送短信时间 然后除以10000,四舍五入结果和倒计时时间比较,当小于倒计时时间的
function countBtnInterval(myCount){
$("#sendSMSBtn").attr("disabled", true);
$("#userName").attr("disabled", true);
$("#business").attr("disabled", true);
$("#employee").attr("disabled", true);
count = myCount;
CountDown();
countdown = setInterval(CountDown, 1000);
}
//短信按钮发生变化
function CountDown() {
$("#sendSMSBtn").val("再次获取(" + count + ")");
if (count == 0) {
$("#sendSMSBtn").val("获取随机短信码").removeAttr("disabled");
$("#userName").removeAttr("disabled");
$("#employee").removeAttr("");
$("#business").removeAttr("disabled");
clearInterval(countdown);
jST.delCookie("verifyCodeTime");
jST.delCookie("lastBusinessName");
}
jST.setCookie("verifyCodeTime",count,"","/");
if(count>0){
count--;
}
}
拿发送短信的时间减去差值 继续调用倒计时函数。然后就可以继续执行了。