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的简单图片切换效果
Jan 06 Javascript
Jquery post传递数组方法实现思路及代码
Apr 28 Javascript
各浏览器对document.getElementById等方法的实现差异解析
Dec 05 Javascript
node.js中的http.response.end方法使用说明
Dec 14 Javascript
浅谈JavaScript中的Math.atan()方法的使用
Jun 14 Javascript
关于javascript中dataset的问题小结
Nov 16 Javascript
jQuery qrcode生成二维码的方法
Apr 03 Javascript
HTML中使背景图片自适应浏览器大小实例详解
Apr 06 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
Sep 14 Javascript
官方推荐react-navigation的具体使用详解
May 08 Javascript
Vuex 使用及简单实例(计数器)
Aug 29 Javascript
Vue实现购物车基本功能
Nov 08 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字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
Python之文字转图片方法
2018/05/10 Python
Linux下python制作名片示例
2018/07/20 Python
python opencv读mp4视频的实例
2018/12/07 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
深入浅析Python代码规范性检测
2020/07/31 Python
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
25岁生日感言
2014/01/13 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
节能宣传周活动总结
2014/05/08 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
租房安全协议书
2014/08/20 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
班主任工作实习计划
2015/01/16 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android