Таймер JavaScript загружается автоматически, а не по событию клика - PullRequest
0 голосов
/ 11 июня 2018

У меня есть счетчик времени JS в небольшом игровом приложении, он работает нормально, но вместо того, чтобы быть активированным при первом щелчке (у меня переменная firsClick установлена ​​в true, я использую событие click для вызова функции startTimer), он запускается какстраница загружается, и я получаю сообщение об ошибке, когда игра заканчивается или если я перезагружаю игру с ее кнопкой.Любая помощь или предложение приветствуется, спасибо

let liveTimer = 0;
//timer function
function startTimer(val) {
   return val > 9 ? val : "0" + val; }
   setInterval( function(){
   document.getElementById("seconds").innerHTML=startTimer(++liveTimer%60);
   document.getElementById("minutes").innerHTML=startTimer(parseInt(liveTimer/60,10));
}, 1000);
// stopping timer function - clears time stored in liveTimer var
function stopTimer() {
   clearInterval(liveTimer);
}

1 Ответ

0 голосов
/ 11 июня 2018

Определение вашей функции заканчивается слишком рано:

function startTimer(val) {
return val > 9 ? val : "0" + val; }
setInterval( function(){
document.getElementById("seconds").innerHTML=startTimer(++liveTimer%60);
document.getElementById("minutes").innerHTML=startTimer(parseInt(liveTimer/60,10));
}, 1000);

Что вы, возможно, хотели написать:

function startTimer(val) {
    setInterval( function(){
       document.getElementById("seconds").innerHTML=startTimer(++liveTimer%60);
       document.getElementById("minutes").innerHTML=startTimer(parseInt(liveTimer/60,10));
    }, 1000);
    return val > 9 ? val : "0" + val; 
}

Хотя я не понимаю, что вы хотите с этим сделать "вал».Он не имеет никакого отношения к телу интервала или его вызову вообще

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...