Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
页面重新加载时JavaScript计时器暂停_Javascript_Php_Timer - Fatal编程技术网

页面重新加载时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

我正在使用一个JavaScript代码作为计时器,它与下面的代码配合得很好,唯一的问题是当我刷新页面一秒钟时

我需要计时器保持运行,即使我刷新页面

我试图获取当地时间
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秒。