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 相关文章推荐
Extjs中DisplayField的日期或者数字格式化扩展
Sep 03 Javascript
JavaScript 32位整型无符号操作示例
Dec 08 Javascript
js控制网页前进和后退的方法
Jun 08 Javascript
jQuery焦点图插件SaySlide
Dec 21 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
Aug 08 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
Jan 30 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
vue 里面使用axios 和封装的示例代码
Sep 01 Javascript
vue如何使用 Slot 分发内容实例详解
Sep 05 Javascript
Vue组件之自定义事件的功能图解
Feb 01 Javascript
JS+HTML5 canvas绘制验证码示例
Dec 05 Javascript
vue + el-form 实现的多层循环表单验证
Nov 25 Vue.js
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中如何使用session实现保存用户登录信息
2015/10/20 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
vue中过滤器filter的讲解
2019/01/21 Javascript
小程序实现多列选择器
2019/02/15 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
推荐下python/ironpython:从入门到精通
2007/10/02 Python
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
Windows下python3.6.4安装教程
2018/07/31 Python
Python中的取模运算方法
2018/11/10 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
django使用admin站点上传图片的实例
2019/07/28 Python
pandas数据拼接的实现示例
2020/04/16 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
职工运动会邀请函
2014/02/02 职场文书
教师节活动主持词
2014/04/02 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
法学院毕业生求职信
2014/06/25 职场文书
公安领导班子四风问题个人整改措施思想汇报
2014/10/09 职场文书
Nginx进程管理和重载原理详解
2021/04/22 Servers