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设置首页和收藏页面的小例子
Nov 11 Javascript
Node.js开发之访问Redis数据库教程
Jan 14 Javascript
全面了解JavaScript的数据类型转换
Jul 01 Javascript
8 行 Node.js 代码实现代理服务器
Dec 05 Javascript
BootStrap实现鼠标悬停下拉列表功能
Feb 17 Javascript
js实现下一页页码效果
Mar 07 Javascript
JS删除String里某个字符的方法
Jan 06 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
Sep 06 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
Nov 05 Javascript
ES6新增的数组知识实例小结
May 23 Javascript
npm全局环境变量配置详解
Dec 15 Javascript
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 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开发过程中常用函数收藏
2009/12/14 PHP
php判断变量类型常用方法
2012/04/24 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
关于jQuery中.attr()和.prop()的问题探讨
2013/09/06 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
JavaScript中自定义事件用法分析
2014/12/23 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
Angularjs 事件指令详细整理
2017/07/27 Javascript
mac中利用NVM管理不同node版本的方法详解
2017/11/08 Javascript
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
django query模块
2019/04/20 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
python 进程池pool使用详解
2020/10/15 Python
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
中医药大学毕业生自荐信
2013/11/08 职场文书
食品安全检查制度
2014/02/03 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
校庆活动策划方案
2014/06/05 职场文书
社区重阳节活动总结
2015/03/24 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL
css3 文字断裂效果
2022/04/22 HTML / CSS