Javascript从页面加载开始计数-需要使用ajax重置

Javascript count up from page load - need to reset with ajax

本文关键字:重置 ajax 加载 开始 Javascript      更新时间:2023-09-26

我对Javascript不太熟悉,在重置堆栈上的计数器时遇到了一些问题,这是计数器:

var pageVisisted = new Date(); // you should probably store this in a database/attach it to the session or AT LEAST in a cookie

setInterval(function() {
    var timeOnSite = new Date() - pageVisisted;
    var secondsTotal = timeOnSite / 1000;
    var seconds = Math.floor(secondsTotal);
    document.getElementById('time').innerHTML = seconds;
}, 1000);

我从阅读这里的其他问题中尝试了以下内容:

function stop_time(){
  clearInterval(timeOnSite);
}

这确实再次启动了计数器,但它创建了两个从一个切换到另一个的计数器。

我只想做的是,当用户单击"更新"时,计数器将设置回0并重新启动(同时更新页面上已经工作的数据)。

任何建议或阅读材料都将不胜感激。

感谢

您需要将间隔分配给一个变量,以便正确清除

function myFn() {
    var timeOnSite = new Date() - pageVisisted;
    var secondsTotal = timeOnSite / 1000;
    var seconds = Math.floor(secondsTotal);
    document.getElementById('time').innerHTML = seconds;
}
var myTimer = setInterval(myFn, 4000);

然后要重置它,请将变量作为参数清除,然后重新启动它。

clearInterval(myTimer);
myTimer = setInterval(myFn, 4000);