問題描述:iOS的殼啊片,H5的內(nèi)容。點(diǎn)擊獲取驗(yàn)證碼玖像,進(jìn)入60秒倒計(jì)時(shí)紫谷,此時(shí)將APP進(jìn)入后臺(tái)掛起,過一分鐘之后捐寥,重新進(jìn)入此APP笤昨,發(fā)現(xiàn)倒計(jì)時(shí)并未進(jìn)行完,依舊顯示倒計(jì)時(shí)狀態(tài)握恳。
如果利用iOS實(shí)現(xiàn)后臺(tái)運(yùn)行的方法去解決這個(gè)問題咬腋,顯得大材小用。那么就需要從H5入手睡互。
實(shí)現(xiàn)思路,獲取兩個(gè)時(shí)間戳陵像,一個(gè)在點(diǎn)擊獲取驗(yàn)證碼按鈕時(shí)獲取就珠,另一個(gè)在循環(huán)時(shí)獲取,并在循環(huán)方法中處理兩個(gè)時(shí)間戳的差值醒颖。
實(shí)現(xiàn)代碼如下:
$(".get").click(function(){
var _time=parseInt(new Date().getTime()/1000); // 時(shí)間戳1
_time=_time+60;
$('#checkVal').attr("disabled", false);
$(".get").attr("disabled", true);
$(".get").val("60s后重發(fā)");
$(".get").css({"color":"#999","border-color":"#dedede"});
var _newt;
var InterValObj = window.setInterval(function(){
_newt=parseInt(new Date().getTime()/1000); // 時(shí)間戳2
_endT= _time - _newt;
if(_endT>0){
$(".get").val(_endT + "s后重發(fā)");
}else{
$(".get").val("重新發(fā)送");
$(".get").css({"color":"#17b4eb","border-color":"#17b4eb"});
$(".get").attr("disabled", false);
$('#checkVal').attr("disabled", true);
window.clearInterval(InterValObj);
}
},1000);
getCode(); // 獲取驗(yàn)證碼
});