Jquery插件实现点击获取验证码后60秒内禁止重新获取


Posted in Javascript onMarch 13, 2015

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

效果图:

Jquery插件实现点击获取验证码后60秒内禁止重新获取

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

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<title>Examples</title>

<meta name="description" content="">

<meta name="keywords" content="">

<script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js" ></script>

<script src="jquery.cookie.js" ></script>

<style type="text/css">

    * {margin: 0; padding: 0; font-family: "Microsoft Yahei";}

    .captcha-box {width: 360px; height: 34px; margin: 30px; padding: 30px; border: #956E6F 1px dashed; border-radius: 5px; background-color: #FAF2F2;}

    #mobile { float: left; width: 180px; height: 32px; border: #e5e5e5 1px solid; line-height: 32px; text-indent: 8px; outline: none;}

    #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;}

</style>

<script>

    $(function(){

        /*仿刷新:检测是否存在cookie*/

        if($.cookie("captcha")){

            var count = $.cookie("captcha");

            var btn = $('#getting');

            btn.val(count+'秒后可重新获取').attr('disabled',true).css('cursor','not-allowed');

            var resend = setInterval(function(){

                count--;

                if (count > 0){

                    btn.val(count+'秒后可重新获取').attr('disabled',true).css('cursor','not-allowed');

                    $.cookie("captcha", count, {path: '/', expires: (1/86400)*count});

                }else {

                    clearInterval(resend);

                    btn.val("获取验证码").removeClass('disabled').removeAttr('disabled style');

                }

            }, 1000);

        }

        /*点击改变按钮状态,已经简略掉ajax发送短信验证的代码*/

        $('#getting').click(function(){

            var btn = $(this);

            var count = 60;

            var resend = setInterval(function(){

                count--;

                if (count > 0){

                    btn.val(count+"秒后可重新获取");

                    $.cookie("captcha", count, {path: '/', expires: (1/86400)*count});

                }else {

                    clearInterval(resend);

                    btn.val("获取验证码").removeAttr('disabled style');

                }

            }, 1000);

            btn.attr('disabled',true).css('cursor','not-allowed');

        });

    });

</script>

</head>

<body>

    <div class="captcha-box">

        <input type="text" id="mobile" maxlength="11" placeholder="请输入手机号码">

        <input type="button" id="getting" value="获取验证码">

    </div>

</body>

</html>

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

Javascript 相关文章推荐
WordPress JQuery处理沙发头像
Jun 22 Javascript
起点页面传值js,有空研究学习下
Jan 25 Javascript
2种jQuery 实现刮刮卡效果
Feb 01 Javascript
JavaScript实现多个重叠层点击切换效果的方法
Apr 24 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
Sep 06 Javascript
js点击文本框后才加载验证码实例代码
Oct 20 Javascript
浅谈javascript中replace()方法
Nov 10 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
Sep 19 Javascript
js拖拽功能实现代码解析
Nov 28 Javascript
JS实现的简单轮播图运动效果示例
Dec 22 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
Aug 06 Javascript
node.js [superAgent] 请求使用示例
Mar 13 #Javascript
JavaScript中逗号运算符介绍及使用示例
Mar 13 #Javascript
JavaScript原生对象之String对象的属性和方法详解
Mar 13 #Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
Mar 13 #Javascript
JavaScript原生对象之Number对象的属性和方法详解
Mar 13 #Javascript
JavaScript原生对象之Date对象的属性和方法详解
Mar 13 #Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
Mar 13 #Javascript
You might like
TMDPHP 模板引擎使用教程
2012/03/13 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
Nigma vs Liquid BO3 第一场2.13
2021/03/10 DOTA
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
Python超越函数积分运算以及绘图实现代码
2019/11/20 Python
python 实现矩阵按对角线打印
2019/11/29 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
灵泰克Java笔试题
2016/01/09 面试题
播音主持专业个人自我评价
2014/01/09 职场文书
司马光教学反思
2014/02/01 职场文书
前台文员职责范本
2014/03/07 职场文书
初中新生军训方案
2014/05/13 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
委托函范文
2015/01/29 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
详解MindSpore自定义模型损失函数
2021/06/30 Python
sass 常用备忘案例详解
2021/09/15 HTML / CSS