本文通过一个具体的JavaScript实例,演示了如何制作一个带有倒计时功能的提交按钮。代码展示了利用jQuery控制按钮状态、显示剩余秒数以及禁用交互的逻辑。此外,文章还建议在复杂场景中结合Cookie处理数据持久化,以应对页面刷新等情况,为前端交互开发提供参考。
JavaScript倒计时按钮实现
本文通过一个具体的JavaScript实例,演示了如何制作一个带有倒计时功能的提交按钮。
运行效果如下图所示:

实现该功能的具体代码逻辑如下:
<span style="font-size: 14px;">
<input type="button" value="确定"id="rulesubmit" />
<scripttypescripttype="text/javascript">
var secs = 3;
var wait = secs * 1000;
var update = function(num,value){
if (num == (wait/1000)){
$("#rulesubmit").val("免费获取");
}
else{
printnr = (wait/1000) - num;
$("#rulesubmit").val("免费获取(" + printnr +")");
}
};
var timer = function(){
$("#rulesubmit").attr("disabled",false);
$("#rulesubmit").val("免费获取");
};
$(function(){
(function(){
function getValidateCode(){
$("#rulesubmit").val("免费获取(" + secs +")");
$("#rulesubmit").attr("disabled",true);
for (i = 1; i <= secs;i++){
window.setTimeout("update(" + i + ")",i*1000);
}
window.setTimeout("timer()",wait);
}
$("#rulesubmit").click(function(){
getValidateCode();
});
})();
//注意,我这里在测试的时候改成里匿名函数,其实不必这样做也可以实现
//getValidateCode()当作一个单独的函数,在$(function(){//点击按钮执行函数,即上面蓝色部分代码;});
});
</script></span>
这仅是一个基础示例。在实际项目中,若需记录多种时间状态或处理页面刷新导致的数据丢失,建议结合Cookie进行数据存储与管理。
希望这段代码解析能对您的JavaScript编程实践提供有益参考。