我正在为一个问题提供帮助,尽管我付出了很多努力,但我无法解决这个问题。我正试图做一个反击。此计数器将放置在网页上可用项目下的div中。此计数器应该能够以预定义的值和间隔更改其值,例如,值从5,000开始,然后在2秒后减少1,然后在接下来的5秒后减少4,然后在接下来的2秒后减少3,然后过程重复(2秒后减少1 ......)三组或四组变化就足够了。 计数器显示的值不得受页面加载或同时用户数的影响,如果用户在两个不同的浏览器中看到该页面,它也应该保留,它必须仅如上所述显示。 此计数器必须能够更改其值,而无需用户刷新页面。
答案 0 :(得分:0)
在我看来,最简单的解决方案是使计时器相对于绝对时间。
这意味着您需要花费自定义为开始的任意时间点开始的时间,例如现在这是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);
每秒调用此方法。
最后,您需要找出一种计算进度的好方法。你可以在一个大循环中为所有的passSeconds运行你的公式。或者您评估是否可以将其减少到单个计算步骤。将取决于您在最终版本中的确切价值变化。