本篇文章主要是对js判断60秒以及倒计时的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
用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();//重置时间 }); } }
|