jQuery实现倒计时按钮功能代码分享
程序员文章站
2022-06-11 18:10:51
代码一:
{
wait:90,
hstime:function(that){
if (this.wait == 0) {
$(&...
代码一:
{ wait:90, hstime:function(that){ if (this.wait == 0) { $('#hsbtn').removeattr("disabled").val('重发短信验证码'); this.wait = 90; } else { var _this = this; $(that).attr("disabled", true).val('在'+_this.wait+'秒后点此重发'); _this.wait--; settimeout(function() { _this.hstime(that); }, 1000) } }, }
代码二:
<!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> <title></title> <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;//当前剩余秒数 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秒执行一次 //向后台发送处理数据 $.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("重新发送验证码"); code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效 } else { curcount--; $("#btnsendcode").val("请在" + curcount + "秒内输入验证码"); } } </script> </head> <body> <input id="btnsendcode" type="button" value="发送验证码" onclick="sendmessage()" /></p> </body> </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> <title>10之后注册</title> <script src="../js/jquery-1.6.2.min.js" type="text/javascript"></script> <script type="text/javascript" language="javascript"> var leftseconds = 10;//倒计时时间10秒 var intervalid; $(function () { $("#btn_reg").attr("disabled", true);//设置按钮不可用 intervalid = setinterval("countdown()",1000);//调用倒计时的方法 }); function countdown() {//倒计时方法 if (leftseconds <= 0) { $("#btn_reg").val("注册"); //当时间<=0的时候改变按钮的value $("#btn_reg").attr("disabled",false);//如果时间<=0的时候按钮可用 clearinterval(intervalid); //取消由 setinterval() 设置的 timeout return; } leftseconds--; $("#btn_reg").val("请仔细阅读"+leftseconds+"秒"); } </script> </head> <body> <textarea cols="20" rows="8">10秒之后注册按钮才可以使用</textarea> <input type="button" value="注册" id="btn_reg" /> </body> </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> <title></title> <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;//当前剩余秒数 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秒执行一次 //向后台发送处理数据 $.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("重新发送验证码"); code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效 } else { curcount--; $("#btnsendcode").val("请在" + curcount + "秒内输入验证码"); } } </script> </head> <body> <input id="btnsendcode" type="button" value="发送验证码" onclick="sendmessage()" /></p> </body> </html>
代码五:
最近在写短信发送验证码,就写了个js/jquery倒计时发送验证码按钮 <script language="javascript" src="jquery-1.7.1.min.js"></script> <input type="button" id="btn" value="免费获取验证码" /> <script type="text/javascript"> var wait=10; function time(t) { if (wait == t) { t.removeattribute("disabled"); t.value="免费获取验证码"; wait = 10; } else { t.setattribute("disabled", true); t.value="重新发送(" + wait + ")"; wait--; settimeout(function() { time(t) }, 1000) } } $(document).ready(function(){ $("#btn").click( function () { time(this); }); }); </script>