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 相关文章推荐
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
Feb 02 Javascript
用javascript为页面添加天气显示实现思路及代码
Dec 02 Javascript
jquery复选框checkbox实现删除前判断
Apr 20 Javascript
PHP实现的各种中文编码转换类分享
Jan 23 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
AngularJS入门教程之过滤器详解
Aug 19 Javascript
jQuery中的deferred使用方法
Mar 27 jQuery
详解vuex结合localstorage动态监听storage的变化
May 03 Javascript
JS判断两个数组或对象是否相同的方法示例
Feb 28 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
Apr 11 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
Sep 02 Javascript
vue实现学生信息管理系统
May 30 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
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
js实现移动端tab切换时下划线滑动效果
2019/09/08 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
Python做文本按行去重的实现方法
2016/10/19 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
Python计算IV值的示例讲解
2020/02/28 Python
Grid 宫格常用布局的实现
2020/01/10 HTML / CSS
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
校园招聘策划书
2014/01/09 职场文书
动员大会主持词
2014/03/20 职场文书
主管竞聘书范文
2014/03/31 职场文书
节约用水的口号
2014/06/20 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
redis数据一致性的实现示例
2022/03/18 Redis