js判断60秒以及倒计时示例代码


Posted in Javascript onJanuary 24, 2014

用js判断60秒到计时,首先定义一个变量refreshTime,当触发事件的时候检查一下上一次请求成功的时间距离现在是否超过60秒,如果没有超过60秒,则弹出提示,

否则则允许继续请求,请求成功之后,把当前的时间赋值给refreshTime,具体实现方式;

usingNamespace("Biz.AccountCenter")["CellPhoneValidation"]={  
    refreshTime:0, //变量    checkRefreshGet:function(timeLimit) //检查时间,timelimit为传入请求需要间隔的时间(单位秒),比如:60
    {
      var nowTime = new Date();
      var nowMinitePoint=nowTime.getHours()*3600+nowTime.getMinutes()*60+nowTime.getSeconds();

     if(nowMinitePoint-Biz.AccountCenter.CellPhoneValidation.refreshTime<timeLimit )
     {
         return false;
     }
         return true;
    },
    resetRefreshGet:function() //请求成功之后,调用的方法,把定义的变量重置为当前时间
    {
       var nowTime = new Date();
       var nowMinitePoint=nowTime.getHours()*3600+nowTime.getMinutes()*60+nowTime.getSeconds();
       Biz.AccountCenter.CellPhoneValidation.refreshTime=nowMinitePoint; 
    },
 dynamicMessage:function(timeSecond) //倒计时方法 timeSecond为从多少秒开始,比如:60
    {
       var showTimmer;
       if (showTimmer) {
           clearTimeout(showTimmer);
       }
       if(timeSecond==dynamicValidate.refreshTimeLimit)
       {
            var messageRefresh =$.newegg.format(dynamicValidate.refreshSpanMessage,timeSecond);
           $("#spanRefresh").html("<span>"+messageRefresh+"</span>");
            $("#spanRefresh").attr("class","button btn_yanz_disable");
           timeSecond--;
       }
       showTimmer = setTimeout(function () {
           var messageRefresh =$.newegg.format(dynamicValidate.refreshSpanMessage,timeSecond);
           $("#spanRefresh").html("<span>"+messageRefresh+"</span>");
           timeSecond--;
           if (timeSecond < 0) {
               clearTimeout(showTimmer);
               $("#spanRefresh").attr("class","button btn_yanz");
               $("#spanRefresh").html("<span>"+dynamicValidate.refreshMessage+"</span>");
           } else {
               Biz.AccountCenter.CellPhoneValidation.dynamicMessage(timeSecond);
                $("#spanRefresh").attr("class","button btn_yanz_disable");
           }
       }, 1000);
    },
    create: function(obj,page,isCancelPhone) //每次请求调用的方法
    {     
        if(!Biz.AccountCenter.CellPhoneValidation.checkRefreshGet(dynamicValidate.refreshTimeLimit)) //每次请求的时候,js检查60s时间间隔
        {
           $("#valiateerror").empty().html("<span class='Validform_wrong'>"+$.newegg.format($Resource.BuildContent("AccountCenter_ModifyDyanmic_CanNotRepeatClick"),dynamicValidate.refreshTimeLimit)+"</span>").show();
           $("#mobilewarning").hide();
           return;
        }
       $.get("url",data,function(){
             //如果成功
             Biz.AccountCenter.CellPhoneValidation.dynamicMessage(dynamicValidate.refreshTimeLimit);//倒计时
             Biz.AccountCenter.CellPhoneValidation.resetRefreshGet();//重置时间
       });
        
    }
 }
Javascript 相关文章推荐
基于jquery的高性能td和input切换并可修改内容实现代码
Jan 09 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
Nov 15 Javascript
JS判断变量是否为空判断是否null
Jul 25 Javascript
JS 使用for循环遍历子节点查找元素
Sep 06 Javascript
JavaScript判断前缀、后缀是否是空格的方法
Apr 15 Javascript
js点击文本框后才加载验证码实例代码
Oct 20 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
Aug 28 Javascript
jQuery实现底部浮动窗口效果
Sep 07 Javascript
微信小程序实现tab和swiper切换结合效果
Jul 17 Javascript
React Native基础入门之初步使用Flexbox布局
Jul 02 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
Apr 28 Javascript
用Golang运行JavaScript的实现示例
Nov 25 Javascript
innerText 使用示例
Jan 23 #Javascript
登陆成功后自动计算秒数执行跳转
Jan 23 #Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
Jan 23 #Javascript
html dom节点操作(获取/修改/添加或删除)
Jan 23 #Javascript
解决jquery插件冲突的问题
Jan 23 #Javascript
js实现日期级联效果
Jan 23 #Javascript
js日期、星座的级联显示代码
Jan 23 #Javascript
You might like
php实现TCP端口检测的方法
2015/04/01 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
Smarty模板语法详解
2019/07/20 PHP
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
python 对象和json互相转换方法
2018/03/22 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
python输出pdf文档的实例
2020/02/13 Python
vue常用指令代码实例总结
2020/03/16 Python
Python数据正态性检验实现过程
2020/04/18 Python
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
2014年清明节寄语
2014/04/03 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
学校宣传标语
2014/06/18 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python