您的位置:首页 > Web前端 > JQuery

jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码...

2014-01-10 14:52 260 查看

点击(此处)折叠或打开

  1. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">

  2. <html xmlns=\"http://www.w3.org/1999/xhtml\">
  3. <head>
  4.     <title></title>
  5.     <script src=\"HTML/js/jquery-1.4.1.min.js\" type=\"text/javascript\"></script>
  6.     <script type=\"text/javascript\">

  7.         /*-------------------------------------------*/
  8.         var InterValObj; //timer变量,控制时间
  9. var count = 5; //间隔函数,1秒执行
  10. var curCount;//当前剩余秒数
  11. var code = \"\"; //验证码
  12. var codeLength = 6;//验证码长度
  13. function sendMessage() {
  14.             curCount = count;
  15.             var dealType; //验证方式
  16. var uid=$(\"#uid\").val();//用户uid
  17. if ($(\"#phone\").attr(\"checked\") == true) {
  18.                 dealType = \"phone\";
  19.             }
  20.             else {
  21.                 dealType = \"email\";
  22.             }
  23.             //产生验证码
  24. for (var i = 0; i < codeLength; i++) {
  25.                 code += parseInt(Math.random() * 9).toString();
  26.             }
  27.             //设置button效果,开始计时
  28.                 $(\"#btnSendCode\").attr(\"disabled\", \"true\");
  29.                 $(\"#btnSendCode\").val(\"请在\" + curCount + \"秒内输入验证码\");
  30.                 InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
  31. //向后台发送处理数据
  32.                 $.ajax({
  33.                     type: \"POST\", //用POST方式传输
  34.                     dataType: \"text\", //数据格式:JSON
  35.                     url: \'Login.ashx\', //目标地址
  36.                     data: \"dealType=\" + dealType +\"&uid=\" + uid + \"&code=\" + code,
  37.                     error: function (XMLHttpRequest, textStatus, errorThrown) { },
  38.                     success: function (msg){ }
  39.                 });
  40.             }
  41.         //timer处理函数
  42. function SetRemainTime() {
  43.             if (curCount == 0) {
  44.                 window.clearInterval(InterValObj);//停止计时器
  45.                 $(\"#btnSendCode\").removeAttr(\"disabled\");//启用按钮
  46.                 $(\"#btnSendCode\").val(\"重新发送验证码\");
  47.                 code = \"\"; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
  48.             }
  49.             else {
  50.                 curCount--;
  51.                 $(\"#btnSendCode\").val(\"请在\" + curCount + \"秒内输入验证码\");
  52.             }
  53.         }
  54.     </script>
  55. </head>
  56. <body>
  57.         <input id=\"btnSendCode\" type=\"button\" value=\"发送验证码\" onclick=\"sendMessage()\" /></p>
  58. </body>
  59. </html>

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22392018/viewspace-1069261/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22392018/viewspace-1069261/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐