Функция setInterval() выполняется только 1 раз [дубликат]

234
28 марта 2017, 13:20

На данный вопрос уже ответили:

  • Почему таймер останавливается, выполнившись 1 раз 1 ответ

Имеется следующий код, который находится после /body> и перед /html>. После загрузки выполняется только один раз. Вопрос: почему и как это исправить?

function increaseTimer() {
    seconds++;
    if(seconds >= 60)
    {
        seconds = 0;
        minutes++;
        if(minutes >= 60)
        {
            hours++;
            if(hours >= 24)
            {
                console.log("Stopping timer");
                clearInterval(timer);
            }
        }
    }
    var secStr = seconds >= 10 ? seconds.toString() : "0"+seconds.toString();
    var hrsStr = hours >= 10 ? hours.toString() : "0"+hours.toString();
    var minStr = minutes >= 10 ? minutes.toString() : "0"+minutes.toString();
    result = hrsStr + ":"+minStr+":"+secStr;
    document.getElementById("timecell").innerHTML = result;
    console.log(result);
}
var seconds = 0;
var minutes = 0;
var hours = 0;
var result = "";
var timer;
window.onload = function () {
    timer = setInterval(increaseTimer(),1000);
}

Полный файл на https://github.com/mcstarioni/mygithubpage/blob/master/Header.html

Answer 1

Измените

setInterval(increaseTimer(),1000);

на

setInterval(increaseTimer,1000);

потому что в первом случае интервал получает не функцию, а результат ее выполнения

READ ALSO
Как сделать так, чтобы при включении аудио на сайте, уже включённое ранее аудио останавливалось?

Как сделать так, чтобы при включении аудио на сайте, уже включённое ранее аудио останавливалось?

У меня сайт с музыкойИ то, что можно включить много треков, крайне плохо

258
Обработать ответ сервера

Обработать ответ сервера

Как после отправки формы на сервер, сделать редирект на URL? И отменить переход на URL сервера, где отображается код ошибки и наоборот успешной...

244
Подключение JS скрипта для расширения Chrome

Подключение JS скрипта для расширения Chrome

Что нужно написать в manifestjson для подключения js скрипта? выбивает вот такой exception Refused to execute inline script because it violates the following Content Security Policy directive:...

318