通过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. 初始化成员列表 ——— 类的const成员和引用成员的初始化

    class A { public: A(){}; const int num; CString& s; } A::A() { cout<<A con<<endl; } ...

  2. DDNS -VPN设置方法

    背景分析:一般情况下企业网络都是专线,也就是静态公网IP,但是也有一些是刚起步的小公司和一些网络需求不是很高的企业. 当前,由于公司是刚起步的小公司,网络是PPPOE拨号,但是又是总部和分部分开的,另 ...

  3. strlen和sizeof

    1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型.该类型保证能容纳实现所建立的最大对象的字节大小. 2.sizeof是算符,strlen是函数. ...

  4. mysql小误区关于set global sql_slave_skip_counter=N命令

      背景知识1:     在主从库维护中,有时候需要跳过某个无法执行的命令,需要在slave处于stop状态下,执行 set global sql_slave_skip_counter=N以跳过命令. ...

  5. 【转载】理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式

    GL_TRIANGLE_STRIP绘制三角形方式很多时候令人疑惑,在这里对其运作机理进行解释. 一般情况下有三种绘制一系列三角形的方式,分别是GL_TRIANGLES.GL_TRIANGLE_STRI ...

  6. ASP.NET Web API系列教程目录

    ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ...

  7. Unity IoC Container创建对象过程

    Unity是微软P&P推出的一个开源的IoC框架,最新的官方版本是2.0.Unity之前的版本建立在一个称为ObjectBuild的组件上,熟悉EnterLib的读者,相信对ObjectBui ...

  8. 初识Memcached

    一,什么是memcached? Memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载..它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱 ...

  9. C#算法之向一个集合中插入随机不重复的100个数

    一道非常经典的C#笔试题: 需求:请使用C#将一个长度为100的int数组,插入1-100的随机数,不能重复,要求遍历次数最少. 1.最简单的办法 var rd = new Random(); Lis ...

  10. DrawerLayout学习,抽屉效果

    第一节: 注意事项 *主视图一定要是DrawerLayout的第一子视图 *主视图宽度和高度匹配父视图,因为当你显示主视图时,要铺满整个屏幕,用户体验度较高 *必须显示指定的抽屉视图的android: ...