小程式-計時器bug
阿新 • • 發佈:2018-12-26
小程式ios計時器bug
本人在開發小程式的時候專案需要用到掃碼開門之後記錄時間,所以需要用到一個計時器這裡出現了問題:
計時器不能清除乾淨
解
官方提供了計時器方法:
function formatTime(time) {
if (typeof time !== 'number' || time < 0) {
return time
}
var hour = parseInt(time / 3600)
time = time % 3600
var minute = parseInt(time / 60)
time = time % 60
var second = time
return ([hour, minute, second]).map(function (n) {
n = n.toString()
return n[1] ? n : '0' + n
}).join(':')
}
第二步:你需要定義一個全域性變數
var recordTimeInterval="";
recordTimeInterval = setInterval(function(){console.log(1)},1000)
//清除動作
clearInterval(recordTimeInterval);
但是這樣在ios上你會發現時間是被清零了,但是計時器還在跑,解:(再加一句,建議以後使用計時器都這樣操作)
recordTimeInterval="";
補充,後來又遇到了問題發現計時器還是在ios上跑,最後的完美解決方案是,使用的時候在前面加一句:
clearInterval(recordTimeInterval);
完整的:
var recordTimeInterval="";//定義
//使用模組
clearInterval(recordTimeInterval);
recordTimeInterval="";
recordTimeInterval = setInterval(function(){console.log(1)},1000)
//可以說是非常保險了,這個是針對ios小程式的,安卓沒有問題,可寫可不寫