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创建命名空间(namespace)的最简实现
Dec 11 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
Apr 19 Javascript
js内置对象 学习笔记
Aug 01 Javascript
浅析document.createDocumentFragment()与js效率
Jul 08 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
Jan 06 Javascript
form表单action提交的js部分与html部分
Jan 07 Javascript
BootStrap文件上传样式超好看【持续更新】
May 10 Javascript
前端开发必知的15个jQuery小技巧
Jan 22 Javascript
angular2中Http请求原理与用法详解
Jan 11 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
Jun 04 Javascript
vuex Module将 store 分割成模块的操作
Dec 07 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 allow_url_include的应用和解释
2010/04/22 PHP
PHP 作用域解析运算符(::)
2010/07/27 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
取选中的radio的值
2010/01/11 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
setTimeout()递归调用不加引号出错的解决方法
2014/09/05 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
python实现定时播放mp3
2015/03/29 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
2019/12/26 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
大学四年规划书范文
2013/12/27 职场文书
初婚未育证明
2014/01/15 职场文书
就业意向书
2014/07/29 职场文书
讲座新闻稿
2015/07/18 职场文书
九九重阳节致辞
2015/07/31 职场文书
学习雷锋主题班会
2015/08/14 职场文书
2015年幼儿园班主任个人工作总结
2015/10/22 职场文书