Javascript Node.js中的计数器,它以一定的时间间隔更改其值

Javascript Node.js中的计数器,它以一定的时间间隔更改其值,javascript,node.js,server,counter,Javascript,Node.js,Server,Counter,我请求帮助解决一个问题,尽管我尽了一切努力,还是无法解决。我想做一个计数器。此计数器将放置在网页上可用项目下的div中。该计数器应能够以预定义的值和间隔更改其值,例如,该值从5000开始,然后在2秒后减小1,然后在接下来的5秒后减小4,然后在接下来的2秒后减小3,然后该过程重复(在2秒后减小1…)三组或四组变化就足够了。 计数器显示的值不得受页面加载数或同时用户数的影响,如果用户在两个不同的浏览器中看到页面,计数器显示的值也应保持不变,只能如上所述显示。 此计数器必须能够在不需要用户刷新页面的情

我请求帮助解决一个问题,尽管我尽了一切努力,还是无法解决。我想做一个计数器。此计数器将放置在网页上可用项目下的div中。该计数器应能够以预定义的值和间隔更改其值,例如,该值从5000开始,然后在2秒后减小1,然后在接下来的5秒后减小4,然后在接下来的2秒后减小3,然后该过程重复(在2秒后减小1…)三组或四组变化就足够了。 计数器显示的值不得受页面加载数或同时用户数的影响,如果用户在两个不同的浏览器中看到页面,计数器显示的值也应保持不变,只能如上所述显示。
此计数器必须能够在不需要用户刷新页面的情况下更改其值。

在我看来,最简单的解决方案是使计时器相对于绝对时间

这意味着您要计算从您定义为开始的任意时间点开始经过的时间,例如现在,即
var start=Date(“Thu Jun 04 2015 01:46:44 GMT+0200(CEST)”)
。现在,您可以从当前时间中减去
start
,了解经过了多少时间:

var passedSeconds = (new Date() - start) / 1000;
我们除以1000,因为JS默认以毫秒计算

要更新计时器,请执行简单的

setInterval(function() {
     var passedSeconds = (new Date() - start) / 1000;
     var value = doCalculationForSeconds(passedSeconds);
     document.getElementById('myDisplay)'.textContent = value;
}, 1000);
它每秒调用一次此方法


最后,您需要找出一种计算进度的好方法。你可以在一个大循环中运行你的公式,持续所有的秒。或者,您可以评估是否可以将其简化为单个计算步骤。将取决于最终版本中价值的确切变化。

这是一个有至少3个独立部分的巨大问题。试着去解决这个问题,并问这些问题的具体问题。例如,
如何在特定的时间间隔进行计数器倒计时
如何在用户刷新时更新网页上的信息
。祝你好运欢迎来到堆栈溢出!我鼓励你按照@Brennan的建议再试一次。