表单(form)、按钮(button)是网站中常用的部件之一,在某些情况下为了避免按钮多次被点击触发,我们经常在按钮点击之后变为不可点击状态,倒计时一段时间后恢复点击状态。
多次点击有时会造成结果不正确,增加服务器负担等情况,根据程序的情况,严重的甚至会引起服务器短时间崩溃,或者浏览器崩溃。这中简单的措施虽然防止不了恶意点击,但是能最低限度的防止了一些意外点击造成的不必要的问题。
下面放出一种比较简单的实现方式:
var times=6;
var wait=times;
function time(b) {
if (wait == 0) {
b.removeAttribute("disabled");
b.value="计算";
wait = times;
} else {
b.setAttribute("disabled", true);
b.value=wait+"秒后可以重新计算";
wait--;
setTimeout(function(){time(b)},1000);
}
}
效果演示按钮:
因为入坑不深,经验不足,如果各位大大有发现什么地方不妥,或者这段代码会在什么情况下出BUG的话,希望能够告知于我,一起探讨改进。Thanks~~~