Показать сообщение отдельно
  #2 (permalink)  
Старый 19.04.2020, 20:05
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

let timer = setInterval (fun, time) // Запустить таймер
clearInterval(timer) // Остановить таймер

А вообще setInterval (fun, time) - запускать функцию fun не раньше, чем через time ms. Может быть и позже. Поэтому отсчитывать по ней время не стоит. Со временем накопится ошибка.
Лучше так

let t0;
function init()
            {
                t0 = new Date().getTime();
                setInterval(tick, 1000);
            }
             
            function tick()
            {
                let sec = ((new Date().getTime() - t0)/1000 +0.5) | 0;
                document.getElementById("timer").
                    childNodes[0].nodeValue = sec;
}

Последний раз редактировалось voraa, 19.04.2020 в 20:18.
Ответить с цитированием