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 相关文章推荐
prototype Element学习笔记(篇二)
Oct 26 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
Dec 11 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
Jan 05 Javascript
JavaScript用select实现日期控件
Jul 17 Javascript
JavaScript字符串删除重复字符的方法
Dec 25 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
Jun 21 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
Nov 01 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
Dec 20 Javascript
使用vue.js实现联动效果的示例代码
Jan 10 Javascript
JS中Map和ForEach的区别
Feb 05 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
Jan 18 jQuery
vue中使用GraphQL的实例代码
Nov 04 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
实用函数4
2007/11/08 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
[01:03:54]Liquid vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python自然语言编码转换模块codecs介绍
2015/04/08 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
python实现简易淘宝购物
2019/11/22 Python
python画环形图的方法
2020/03/25 Python
Python中内建模块collections如何使用
2020/05/27 Python
pandas参数设置的实用小技巧
2020/08/23 Python
python与idea的集成的实现
2020/11/20 Python
python实现登录与注册系统
2020/11/30 Python
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
会计系个人求职信范文分享
2013/12/20 职场文书
会计自荐信范文
2014/03/09 职场文书
教师师德师风整改措施
2014/10/24 职场文书
白鹤梁导游词
2015/02/06 职场文书
大学学生个人总结
2015/02/15 职场文书
可怜妈妈观后感
2015/06/09 职场文书
国庆阅兵观后感
2015/06/15 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书