У меня есть игра, которую я делаю в стиле 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();
Edit: я запустить его в jsfiddle, но она возвращает предупреждение о том, что нет времени прошло, когда он должен сказать, прошло десять секунд. http://jsfiddle.net/t57wsrx8/
Что не работает? Не могли бы вы показать нам пример в codepen или jsfiddle? –
Что не работает? это дает вам неправильный вывод? день неправильный? это время назад? – Adjit
Я должен был быть более ясным. Когда я запускаю его jsfiddle, он дает информацию, но в нем говорится, что времени не прошло. http://jsfiddle.net/t57wsrx8/ –