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 实现AJAX加载XML并解析的脚本
Jul 25 Javascript
Jquery Ajax.ashx 高效分页实现代码
Oct 20 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
AngularJS内置指令
Feb 04 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
用JavaScript实现让浏览器停止载入页面的方法
Jan 19 Javascript
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
Vue EventBus自定义组件事件传递
Jun 25 Javascript
阿望教你用vue写扫雷小游戏
Jan 20 Javascript
JS删除数组指定值常用方法详解
Jun 04 Javascript
JavaScript 判断浏览器是否是IE
Feb 19 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
怎样辨别一杯好咖啡
2021/03/03 新手入门
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
php简单静态页生成过程
2008/03/27 PHP
php FPDF类库应用实现代码
2009/03/20 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
Underscore源码分析
2015/12/30 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
vue axios数据请求及vue中使用axios的方法
2018/09/10 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
python-str,list,set间的转换实例
2018/06/27 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
主持人演讲稿范文
2013/12/28 职场文书
物业工作计划书
2014/01/10 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
一份没有按时交货失信于客户的检讨书
2014/09/19 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js