Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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计数-需要使用ajax重置_Javascript_Ajax - Fatal编程技术网

页面加载的Javascript计数-需要使用ajax重置

页面加载的Javascript计数-需要使用ajax重置,javascript,ajax,Javascript,Ajax,我对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;

我对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);

嗨,迈克,我想我明白你的意思了,我现在就试试看,然后回来汇报。谢谢你的快速回复。