我要在单击按钮后禁用按钮10分钟,即使刷新,它也将保持禁用状态。我如何在javascript或jquery中实现它?我似乎无法为我的代码做到这一点。
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js">
$(document).ready(function(){
var limit = 10*60*1000;
btn.attr("disabled", true);
btn.css('cursor','not-allowed');
message.text('wrong answer, please wait 10 minutes before trying again');
var timer = setTimeout(disableMyButton, limit);
function disableMyButton(){
btn.removeAttr("disabled");
message.text('');
localStorage.setItem("isMyButtonDisabled", "true");
}
if(localStorage.getItem("isMyButtonDisabled") == "true"){
message.text('');
btn.removeAttr("disabled");
window.clearTimeout(timer);
}
});
</script>
答案 0 :(得分:2)
您有正确的想法。使用localStorage,但将时间戳记放在此处。然后,在加载页面时,从localStorage获取时间戳。如果localStorage时间戳和现在的时间戳之间的时差超过10分钟,请启用该按钮。如果没有,请适当设置超时时间。唯一的问题是保持localStorage干净。确保在10分钟结束时清除时间戳记。