js判斷60秒以及倒計時示例代碼
用js判斷60秒到計時,首先定義一個變量refreshTime,當觸發(fā)事件的時候檢查一下上一次請求成功的時間距離現(xiàn)在是否超過60秒,如果沒有超過60秒,則彈出提示,
否則則允許繼續(xù)請求,請求成功之后,把當前的時間賦值給refreshTime,具體實現(xiàn)方式;
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() //請求成功之后,調(diào)用的方法,把定義的變量重置為當前時間
{
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) //每次請求調(diào)用的方法
{
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();//重置時間
});
}
}
相關(guān)文章
Javascript中構(gòu)造函數(shù)要注意的一些坑
JavaScript語言是一門面向?qū)ο蟮恼Z言,但JS中并沒有類的概念的。于是JavaScript采用構(gòu)造函數(shù)的方式來模擬類的效果,即我們通過函數(shù)來創(chuàng)建對象。這也證明了函數(shù)在JavaScript中具有非常重要的地位。本文主要介紹了Javascript中構(gòu)造函數(shù)的一些坑,需要的朋友可以參考。2017-01-01
Echarts利用多X軸實現(xiàn)七天天氣預報效果的示例代碼
本文主要介紹了Echarts利用多X軸實現(xiàn)七天天氣預報效果的示例代碼,對于UI給出的設(shè)計圖,各個氣象網(wǎng)站都有類似的效果,分享給大家2021-10-10
javascript insertAfter()定義與用法示例
這篇文章主要介紹了javascript insertAfter()定義與用法,實例分析了javascript節(jié)點后插入元素的實現(xiàn)與使用方法,需要的朋友可以參考下2016-07-07

