ios系統屏幕休眠或後臺運行倒計時暫停問題
阿新 • • 發佈:2018-07-18
var date() 運行 span tint parse clas color art
最近在做移動端獲取驗證碼倒計時問題,發現了一個問題,就是在屏幕休眠或者該程序切換到後臺 的時候,ios系統倒計時會暫停,但是在使用中的時候這個絕對算是一個bug。我的選擇是獲取當前時間戳來解決這個問題,具體代碼分析如下:
function Time_a() { var time = 10; $(".time").text(time); var t = setInterval(function() { if(time == 0) { clearTimeout(t); }else { time--; $(".time").text(time) } }, 1000) }
當用time--;來倒計時的時候,在IOS11上面就會出現倒計時斷層。因此我選擇使用時間戳,再配合後臺的時間限制,就可以解決IOS的後臺運行時間限制。
function Time_b(){ var time=10; var beginTime=newDate().getTime(); $(".time-a").text(time); var t= setInterval(function(){ var newTime=new Date().getTime(); var dTime=(newTime-beginTime)/1000; dTime=parseInt(dTime); time = 10-dTime > 0 ? 10-dTime : 0; $(".time-a").text(time); },1000) }
ios系統屏幕休眠或後臺運行倒計時暫停問題