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 相关文章推荐
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
Jan 15 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
Oct 23 Javascript
JavaScript常用数组算法小结
Feb 13 Javascript
Node.js Addons翻译(C/C++扩展)
Jun 12 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
Feb 20 Javascript
关于vue.js过渡css类名的理解(推荐)
Apr 10 Javascript
JavaScript生成图形验证码
Aug 24 Javascript
详解关于element级联选择器数据回显问题
Feb 20 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
Jul 10 Javascript
原生js实现五子棋游戏
May 28 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
Jul 17 Javascript
详解JVM系列之内存模型
Jun 10 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排序算法(冒泡排序,快速排序)
2012/10/09 PHP
php实现将上传word文件转为html的方法
2015/06/03 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
基于jQuery实现网页打印功能
2015/12/01 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
layui表格实现代码
2017/05/20 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
Python如何读取文件中图片格式
2020/01/13 Python
Python使用re模块验证危险字符
2020/05/21 Python
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
测绘工程个人的自我评价
2013/11/10 职场文书
剪枝的学问教学反思
2014/02/07 职场文书
关于责任的演讲稿
2014/05/20 职场文书
化学教育专业求职信
2014/07/08 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书