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 相关文章推荐
CLASS_CONFUSION JS混淆 全源码
Dec 12 Javascript
Javascript 面向对象 重载
May 13 Javascript
jQuery不使用插件及swf实现无刷新文件上传
Dec 08 Javascript
javascript使用call调用微信API
Dec 15 Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 Javascript
javascript手风琴下拉菜单实现代码
Nov 12 Javascript
JavaScript中的时间处理小结
Feb 24 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
详解JavaScript中typeof与instanceof用法
Oct 24 Javascript
微信小程序时间控件picker view使用详解
Dec 28 Javascript
angular6开发steps步骤条组件
Jul 04 Javascript
手把手教你从零开始react+antd搭建项目
Jun 03 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
linux iconv方法的使用
2011/10/01 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
php根据年月获取季度的方法
2014/03/31 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
JavaScript 封装一个tab效果源码分享
2015/09/15 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
Javascript实现鼠标移入方向感知
2020/06/24 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
Python字符串替换实例分析
2015/05/11 Python
wxPython中listbox用法实例详解
2015/06/01 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
优秀团支部事迹材料
2014/02/08 职场文书
销售提升方案
2014/06/07 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
车辆管理制度范本
2015/08/05 职场文书