页面重新加载时JavaScript计时器暂停
我正在使用一个JavaScript代码作为计时器,它与下面的代码配合得很好,唯一的问题是当我刷新页面一秒钟时 我需要计时器保持运行,即使我刷新页面 我试图获取当地时间页面重新加载时JavaScript计时器暂停,javascript,php,timer,Javascript,Php,Timer,我正在使用一个JavaScript代码作为计时器,它与下面的代码配合得很好,唯一的问题是当我刷新页面一秒钟时 我需要计时器保持运行,即使我刷新页面 我试图获取当地时间setHours(00) 如何保持计时器运行 function work(x, id, id_p) { var span = document.getElementsByClassName('data-work'); for (i = 0; i < span.length; i++) { var to
setHours(00)
如何保持计时器运行
function work(x, id, id_p) {
var span = document.getElementsByClassName('data-work');
for (i = 0; i < span.length; i++) {
var totalsum = span[i].dataset.totalwork;
}
var Clock = {
totalSeconds: parseInt(x),
totalSecondsproject: parseInt(totalsum),
start: function () {
var self = this;
function pad(val) {
return val > 9 ? val : "0" + val;
}
this.interval = setInterval(function () {
self.totalSeconds += 1;
self.totalSecondsproject += 1;
var hour = pad(Math.floor(self.totalSecondsproject / 3600));
var min = pad(Math.floor(self.totalSecondsproject / 60 % 60));
var sec = pad(parseInt(self.totalSecondsproject % 60));
var totat_work = hour + ":" + min + ":" + sec;
var totat_work_db = self.totalSeconds;
$(".totatl_hour_work").text(totat_work);
$.ajax({
type: 'Post',
url: 'includes/function.php',
data: {divVal: totat_work_db, id_interview: id, id_project:id_p}
});
}, 1000);
}
};
$('.startButton').ready(function () {
Clock.start();
var refresh = setInterval(function () {
$(window).attr('location', 'agent_dashboard.php?autorefresh');
}, 300 * 1000);
});
}
功能工作(x,id,id\p){
var span=document.getElementsByClassName('data-work');
对于(i=0;i9?值:“0”+值;
}
this.interval=setInterval(函数(){
self.totalSeconds+=1;
self.totalSecondsproject+=1;
var小时=pad(数学楼层(自我总计秒项目/3600));
var最小值=pad(数学层(自身总计秒项目/60%60));
var sec=pad(parseInt(self.totalseconds项目%60));
var totat_工时=小时+”:“+min+”:“+sec;
var totat_work_db=自身总秒数;
$(“.totatl\u hour\u work”).text(totat\u work);
$.ajax({
键入:“Post”,
url:'includes/function.php',
数据:{divVal:totat_work_db,id_采访:id,id_项目:id_p}
});
}, 1000);
}
};
$('.startButton').ready(函数(){
Clock.start();
var refresh=setInterval(函数(){
$(window.attr('location','agent_dashboard.php?autorefresh');
}, 300 * 1000);
});
}
将计时器开始时间放在会话中,从会话中提取计时器并与当前时间进行比较,您将得到实际计时器time@Abhinav-我从数据库中获取时间并每秒保存新时间您可以使用localStorage.setItem(“key”、“value”);对于totalSeconds和totalSecondsproject,如果您刷新此页面,最后一个值将在那里,您可以继续使用该值。@Abhinav我尝试过,但没有成功。问题是当我刷新它时,计时器计数器会停止一秒钟。如果我刷新页面5次,我会损失5秒。