js jquery 实现点击按钮后,倒计时60秒才能再次点击发送验证邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js jquery 实现点击按钮后,倒计时60秒才能再次点击发送验证邮件相关的知识,希望对你有一定的参考价值。
<input type="button" id="btn" value="免费获取验证码" /><script type="text/javascript">
var wait=60;
function time(o)
if (wait == 0)
o.removeAttribute("disabled");
o.value="免费获取验证码";
wait = 60;
else
o.setAttribute("disabled", true);
o.value="重新发送(" + wait + ")";
wait--;
setTimeout(function()
time(o)
,
1000)
document.getElementById("btn").onclick=function()time(this);
</script> 参考技术A 点击就将按钮设为disabled,然后调用一个函数进行循环,用settimeout(function,1000),,循环60次后把disabled属性去掉,就可以了 参考技术B $(':button').click(function()
$(this).attr('disabled',true).delay(60*1000).attr('disabled',false);
//代码~
);追问
不行啊,貌似delay()只能对show(100) hide(1200) 之类的有效
jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码邮箱验证码
原文链接:http://www.cnblogs.com/steed-zgf/archive/2012/02/03/2336984.html
<!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 = 5; //间隔函数,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: "text", //数据格式: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>
以上是关于js jquery 实现点击按钮后,倒计时60秒才能再次点击发送验证邮件的主要内容,如果未能解决你的问题,请参考以下文章