<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="../js/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<input type="text" name="">
<input id="btnSendCode" type="button" value="发送验证码" οnclick="sendMessage()" />
</body>
<script type="text/javascript">
/*-------------------------------------------*/
var InterValObj; //timer变量,控制时间
var count = 60; //间隔函数,1秒执行
var curCount = 60;//当前剩余秒数
var code = ""; //验证码
var codeLength = 6;//验证码长度
function sendMessage() {
curCount = count;
var dealType; //验证方式
var uid=$("#uid").val();//用户uid
if ($("#phone").attr("checked") == true) {
dealType = "phone";
}
else {
dealType = "email";
}
//产生验证码
for (var i = 0; i < codeLength; i++) {
code += parseInt(Math.random() * 9).toString();
}
//设置button效果,开始计时
$("#btnSendCode").attr("disabled", "true");
$("#btnSendCode").val(curCount + "秒后重新获取");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
}
//timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#btnSendCode").removeAttr("disabled");//启用按钮
$("#btnSendCode").val("重新发送验证码");
code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
} else {
curCount--;
$("#btnSendCode").val(curCount + "秒后重新获取");
}
}
</script>
</body>
</html>
上面就是很简单的直接使用jquery来实现倒计时的功能。其实整个过程主要用到了两个js函数:setTimeOut()和setInterval(),或者看两种的关系
特别计数结束后,要调用clearInterval()来停止计数。
这个是文章内容的出处点击打开链接