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 相关文章推荐
window.open被浏览器拦截后的自定义提示效果代码
Nov 19 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
Mar 01 Javascript
jquery制作居中遮罩层效果分享
Feb 21 Javascript
JS数组的赋值介绍
Mar 10 Javascript
AngularJS入门教程之迭代器过滤详解
Aug 18 Javascript
JS字符串false转boolean的方法(推荐)
Mar 08 Javascript
jQuery之动画ajax事件(实例讲解)
Jul 18 jQuery
详解wow.js中各种特效对应的类名
Sep 13 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
Sep 02 Javascript
JavaScript回调函数callback用法解析
Jan 14 Javascript
Element-ui el-tree新增和删除节点后如何刷新tree的实例
Aug 31 Javascript
EXTJS7实现点击拖拉选择文本
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实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
2011/10/09 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
一些不错的js函数ajax
2008/08/20 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
javascript的push使用指南
2014/12/05 Javascript
apply和call方法定义及apply和call方法的区别
2015/11/15 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
Bootstrap table分页问题汇总
2016/05/30 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
django的model操作汇整详解
2019/07/26 Python
python+mysql实现个人论文管理系统
2019/10/25 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
基于Python fminunc 的替代方法
2020/02/29 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
自荐信格式
2013/12/01 职场文书
自我鉴定标准格式
2014/03/19 职场文书
片区教研活动总结
2014/07/02 职场文书
失职检讨书大全
2015/01/26 职场文书
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android