jQuery短信验证倒计时功能实现方法详解_Javascript教程-查字典教程网
jQuery短信验证倒计时功能实现方法详解
jQuery短信验证倒计时功能实现方法详解
发布时间:2016-12-30 来源:查字典编辑
摘要:本文实例讲述了jQuery短信验证倒计时功能实现方法。分享给大家供大家参考,具体如下:demo短信验证码60秒,并限制次数varwait=6...

本文实例讲述了jQuery短信验证倒计时功能实现方法。分享给大家供大家参考,具体如下:

<!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>demo 短信验证码60秒,并限制次数</title> <script src="js/time.js" type="text/javascript"></script> </head> <body> <div> <input type="button" id="btn" value="获取验证码" /> </div> </body> <script> var wait=60*2; document.getElementById("btn").disabled = false; function time(o) { if (wait == 0) { o.removeAttribute("disabled"); o.value="免费获取验证码"; wait = 60*2; } else { o.setAttribute("disabled", true); o.value="重新发送(" + wait + ")"; wait--; setTimeout(function() { time(o) }, 1000) } } document.getElementById("btn").onclick=function(){time(this);} </script> </html>

time.js内容如下:

var InterValObj; //timer变量,控制时间 var count = 60; //间隔函数,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 + "秒内输入验证码"); } }

希望本文所述对大家jQuery程序设计有所帮助。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类