jQuery短信验证倒计时功能实现方法详解


Posted in Javascript onMay 25, 2016

本文实例讲述了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 class="input">
  <input type="button" id="btn" class="btn_mfyzm" 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 相关文章推荐
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
Feb 24 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
Nov 28 Javascript
js确认删除对话框效果的示例代码
Feb 20 Javascript
js脚本获取webform服务器控件的方法
May 16 Javascript
javascript判断复选框是否选中的方法
Oct 16 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
Dec 03 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
Dec 03 Javascript
javascript多物体运动实现方法分析
Jan 08 Javascript
js实现打地鼠小游戏
Feb 13 Javascript
jsTree事件和交互以及插件plugins详解
Aug 29 Javascript
微信小程序多列表渲染数据开关互不影响的实现
Jun 05 Javascript
js通过canvas生成图片缩略图
Oct 02 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
May 25 #Javascript
BootStrap的Datepicker控件使用心得分享
May 25 #Javascript
jquery按回车键实现表单提交的简单实例
May 25 #Javascript
Javascript之BOM(window对象)详解
May 25 #Javascript
jQueryUI中的datepicker使用方法详解
May 25 #Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
May 25 #Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 #Javascript
You might like
一个查看session内容的函数
2006/10/09 PHP
一个好用的分页函数
2006/11/16 PHP
使用PHP实现阻止用户上传成人照片或者裸照
2014/12/25 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
2011/10/08 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
详解react-redux插件入门
2018/04/19 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
详解vue中async-await的使用误区
2018/12/05 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
详细分析python3的reduce函数
2017/12/05 Python
python去除扩展名的实例讲解
2018/04/23 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
python与字符编码问题
2019/05/24 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
linux面试题参考答案(6)
2014/08/29 面试题
经济信息管理专业大学生求职信
2013/09/27 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
网络营销计划
2015/01/17 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
Django与数据库交互的实现
2021/06/03 Python
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python