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 相关文章推荐
IE php关于强制下载文件的代码
Aug 23 Javascript
js checkbox(复选框) 使用集锦
Apr 28 Javascript
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
Oct 29 Javascript
node.js中的favicon.ico请求问题处理
Dec 15 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
Apr 21 Javascript
使用JS和canvas实现gif动图的停止和播放代码
Sep 01 Javascript
node.js遍历目录的方法示例
Aug 01 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
Aug 24 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
Aug 27 Javascript
jQuery实现简易聊天框
Feb 08 jQuery
js实现简单贪吃蛇游戏
May 15 Javascript
原生js实现移动小球(碰撞检测)
Dec 17 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代码把全角数字转为半角数字
2007/12/10 PHP
PHP array 的加法操作代码
2010/07/24 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
2020/02/06 PHP
jQuery 阴影插件代码分享
2012/01/09 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
Python切片工具pillow用法示例
2018/03/30 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
Django 内置权限扩展案例详解
2019/03/04 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
Python对象的属性访问过程详解
2020/03/05 Python
Wiggle中国:英国骑行、跑步、游泳 & 铁三运动装备专卖网店
2016/08/02 全球购物
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
会计试用期自我评价怎么写
2014/09/18 职场文书
离职报告格式
2014/11/04 职场文书
成绩单评语
2015/01/04 职场文书
评职称个人总结
2015/03/05 职场文书
酒店员工管理制度
2015/08/05 职场文书
React配置子路由的实现
2021/06/03 Javascript
Python if else条件语句形式详解
2022/03/24 Python