【发布时间】:2015-03-27 19:25:05
【问题描述】:
我正在制作一款 ZORK 风格的游戏,它有持续不断的警报和提示,并且包含你需要坚持的时间才能赢得它。
由于它有玩游戏的警报和提示,我不能使用设置的超时来运行时钟,所以我创建了一个基于实时的时钟,但在让它工作时遇到了一些问题。
这是代码
var now = new Date();
var stS = now.getSeconds();
var stM = now.getMinutes();
var stH = now.getHours();
function getElapsedTime() {
setTimeout(function () {
var reS = now.getSeconds();
var reM = now.getMinutes();
var reH = now.getHours();
var elapS = reS - stS;
var elapM = reM - stM;
var elapH = reH - stH;
if (elapM < 0) {
reM = reM + 60;
elapM = reM - stM;
}
if (elapS < 0) {
reS = reS + 60;
elapS = reS - stS;
}
alert(elapS);
alert(elapM);
alert(elapH);
}, 10000);
}
getElapsedTime();
编辑: 我在 jsfiddle 中运行它,但它返回警报说没有时间过去,而应该说已经过去了十秒。 http://jsfiddle.net/t57wsrx8/
【问题讨论】:
-
什么不起作用?你能给我们看一个 codepen 或 jsfiddle 的例子吗?
-
什么不起作用?它给你不正确的输出吗?日子不对吗?时间倒退了吗?
-
我应该更清楚。当我运行它 jsfiddle 时,它会提供信息,但它说没有时间过去。 jsfiddle.net/t57wsrx8
标签: javascript datetime prompt alerts