話不多說,直接上代碼
html裡
JS裡:因為JS存在一個第一次點選調用定時器時會50s之後才會執行要調用的方法,是以加個鎖來解決就可以了
//心跳檢測
var num = ; //每隔50s重新整理一次
var num1 = true; //判斷是否是第一次點選 鎖
var heartCheck = {
timeout: ,//倒計時的定時
timeoutObj: null,
reset: function(){
clearTimeout(this.timeoutObj); //清除定時器
return this;
},
chongzhi: function(){
num = ;
clearTimeout(this.timeoutObj); //清除定時器
return this;
},
start: function(){
this.timeoutObj = setTimeout(function(){
var sec = document.getElementById("timer");
heartCheck.reset().start();
sec.innerHTML = num + "秒後重新整理";
if(num1) { //如果是第一次點選 則加載并改變狀态
getlnglat(cdeptid);//這裡我調用了自己的方法,把這裡換成自己的方法即可(第一次點選時加載方法)
num1 = false; //改變狀态
}
num--;
if(num < ){ //計時器 當小于0時加載并改變nums狀态
heartCheck.chongzhi().start(); 當num小于時,說明該執行重新整理的方法了
num1 = false;
getlnglat(cdeptid);//這裡我調用了自己的方法,把這裡換成自己的方法即可
}
}, this.timeout);
}
}
調用:
heartCheck.reset().start(); //調用定時器
這個是我項目裡的定時器,經測試可用,就不貼圖檔啦。