jquery 实现点击按钮后出现倒计时效果(用于实现发送手机验证码、邮箱验证码)

时间:2020-12-20 15:39:56
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="HTML/js/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript"> var InterValObj; //timer变量,控制时间
var count = 30; //间隔函数,1秒执行
var curCount;//当前剩余秒数 function sendMessage() {
 curCount = count;
  //设置button效果,开始计时
$("#btnSendCode").attr("disabled", "true");
$("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
   //向后台发送处理数据
$.ajax({
  type: "POST", //用POST方式传输
  dataType: "json", //数据格式:JSON
  url: 'Login.ashx', //目标地址(一般处理程序)
   data: "dealType=" + dealType +"&uid=" + uid + "&code=" + code,
   error: function (XMLHttpRequest, textStatus, errorThrown) { },
  success: function (msg){ }
});
} //timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#btnSendCode").removeAttr("disabled");//启用按钮
$("#btnSendCode").val("重新发送验证码");
}
else {
curCount--;
$("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
}
}
</script>
</head>
<body>
<input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" /></p>
</body>
</html>