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 相关文章推荐
jQuery中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
jQuery实现购物车多物品数量的加减+总价计算
Jun 06 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
Aug 27 Javascript
Javascript 运动中Offset的bug解决方案
Dec 24 Javascript
JQuery实现超链接鼠标提示效果的方法
Jun 10 Javascript
基于jQuery实现动态数字展示效果
Aug 12 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
Oct 16 Javascript
jQuery鼠标事件总结
Oct 13 Javascript
Angular4 中常用的指令入门总结
Jun 12 Javascript
vue.js全局API之nextTick全面解析
Jul 07 Javascript
JavaScript实现表单注册、表单验证、运算符功能
Oct 15 Javascript
微信小程序如何访问公众号文章
Jul 08 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
php 归并排序 数组交集
2011/05/10 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
php读取文件内容的方法汇总
2015/01/24 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
js中cookie的使用详细分析
2008/05/28 Javascript
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
javascript的BOM汇总
2015/07/16 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
2015/08/25 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
JavaScript实现简单进度条效果
2020/03/25 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
详解Vite的新体验
2021/02/22 Javascript
解决python爬虫中有中文的url问题
2018/05/11 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python elasticsearch环境搭建详解
2019/09/02 Python
浅析Python3 pip换源问题
2020/01/06 Python
Python实现分数序列求和
2020/02/25 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
文秘专业个人求职信
2013/12/22 职场文书
前台文员岗位职责
2015/02/04 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书