通过jquery.cookie.js插件可以快速实现“点击获取验证码后60秒内禁止重新获取(防刷新)”的功能

先到官网(http://plugins.jquery.com/cookie/ )下载cookie插件,放到相应文件夹,代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <title>Examples</title>
  7. <meta name="description" content="">
  8. <meta name="keywords" content="">
  9. <script src="<a href="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js" target="_blank" <a="">http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js</a> " ></script>
  10. <script src="jquery.cookie.js" ></script>
  11. <style type="text/css">
  12. * {margin: 0; padding: 0; font-family: "Microsoft Yahei";}
  13. .captcha-box {width: 360px; height: 34px; margin: 30px; padding: 30px; border: #956E6F 1px dashed; border-radius: 5px; background-color: #FAF2F2;}
  14. #mobile { float: left; width: 180px; height: 32px; border: #e5e5e5 1px solid; line-height: 32px; text-indent: 8px; outline: none;}
  15. #getting {float: left; height: 34px; margin-left: -1px; padding: 0 18px; text-align: center;  line-height: 34px; border: #e5e5e5 1px solid; background: linear-gradient(0deg, #f4f2f2 0%,#fbf9f9 100%); cursor: pointer; outline: none;}
  16. </style>
  17. <script>
  18. $(function(){
  19. /*仿刷新:检测是否存在cookie*/
  20. if($.cookie("captcha")){
  21. var count = $.cookie("captcha");
  22. var btn = $('#getting');
  23. btn.val(count+'秒后可重新获取').attr('disabled',true).css('cursor','not-allowed');
  24. var resend = setInterval(function(){
  25. count--;
  26. if (count > 0){
  27. btn.val(count+'秒后可重新获取').attr('disabled',true).css('cursor','not-allowed');
  28. $.cookie("captcha", count, {path: '/', expires: (1/86400)*count});
  29. }else {
  30. clearInterval(resend);
  31. btn.val("获取验证码").removeClass('disabled').removeAttr('disabled style');
  32. }
  33. }, 1000);
  34. }
  35. /*点击改变按钮状态,已经简略掉ajax发送短信验证的代码*/
  36. $('#getting').click(function(){
  37. var btn = $(this);
  38. var count = 60;
  39. var resend = setInterval(function(){
  40. count--;
  41. if (count > 0){
  42. btn.val(count+"秒后可重新获取");
  43. $.cookie("captcha", count, {path: '/', expires: (1/86400)*count});
  44. }else {
  45. clearInterval(resend);
  46. btn.val("获取验证码").removeAttr('disabled style');
  47. }
  48. }, 1000);
  49. btn.attr('disabled',true).css('cursor','not-allowed');
  50. });
  51. });
  52. </script>
  53. </head>
  54. <body>
  55. <div class="captcha-box">
  56. <input type="text" id="mobile" maxlength="11" placeholder="请输入手机号码">
  57. <input type="button" id="getting" value="获取验证码">
  58. </div>
  59. </body>
  60. </html>

以上就是本文的全部内容了,希望大家能够喜欢。

参考来源: 
Jquery插件实现点击获取验证码后60秒内禁止重新获取
http://www.lai18.com/content/349866.html

Jquery插件实现点击获取验证码后60秒内禁止重新获取的更多相关文章

  1. jQuery实现发送短信验证码后60秒倒计时

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  2. 获取验证码,60秒倒计时js

    <input type="button" id="btn" value="免费获取验证码" /><script type= ...

  3. js 点击获取验证码后的倒数60s

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <script ...

  4. js 验证码 倒计时60秒

    js 验证码 倒计时60秒 <input type="button" id="btn" value="免费获取验证码" /> & ...

  5. javaScript 验证码 倒计时60秒

    <input type="button" id="btn" value="免费获取验证码" /> <script type ...

  6. vue实现验证码倒计时60秒的具体代码

    vue实现验证码倒计时60秒的具体代码 <span v-show="show" @click="getCode">获取验证码</span> ...

  7. JS获取验证码后倒计时不受刷新及关闭影响

    HTML部分 <input type="button" id="code_btn" value="获取验证码"> JS部分 // ...

  8. jQuery实现发送验证码倒计时60秒

    前端HMTL: <div class="form_box"> <div class="line mb40"> <div class ...

  9. iOS-登录发送验证码时60秒倒计时,直接用

    __block NSInteger timeout= ; //倒计时时间 KWeakSelf dispatch_queue_t queue = dispatch_get_global_queue(DI ...

随机推荐

  1. python中的装饰器

    一.什么是装饰器 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能 ...

  2. dp4

    T1.机器分配(machine) 题目大意:把N台机器分给M个公司,每个公司分到不同数量机器有不同利润,求分配的最大利润. N<=100,M<=100 解题思路:一眼题啊.设a[x][y] ...

  3. 8. js中json格式解析

    var doc = O_PARAMETER.FJSonStr;(doc为:{"items":[],"nextId":0}) //1.先转为json对象,主要有以 ...

  4. 一天天的sql总结

    一. 多张表之间的查询: join/inner join  on inner join 是比较运算符,只返回符合条件的行. left/outer join on 左外连接包含left join左表所有 ...

  5. java对话框形式实现加减乘除

    import javax.swing.JOptionPane; // import class JOptionPane public class sumit{ public static void m ...

  6. APP弱网测试

    APP弱网测试   App弱网测试方法,常用工具有使用fiddler进行网络模拟,也可以使用Network Emulator Toolkit控制模拟网络,相对来说Network Emulator To ...

  7. JavaWeb总结--Servlet 工作原理解析

    从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力 ...

  8. 基于PHP生成静态页的实现方法

    t1.php 复制代码 代码如下: <?php// 方法一根据模版生成静态页面// replaceTemplateString函数用于替换模板中指定字符串function replaceTemp ...

  9. "Asp.Net Web Api MediaTypeFormatter Error for x-www-formurlencoded data" 解决方法

    遇到标题中所说的问题原因是使用 jQuery AJAX 以 POST 方式调用 Asp.Net Web API .解决办法请看以下代码中有注释的部分. public static class WebA ...

  10. ORACLE 数据的逻辑组成

    数据块(block) Oracle数据块(Data Block)是一组连续的操作系统块.分配数据库块大小是在Oracle数据库创建时设置的,数据块是Oracle读写的基本单位.数据块的大小一般是操作系 ...