ваш таймер работает через рекурсивный
setTimeout
. Каждую секунду вызывается функция
updateExamTimer
, которая в конце выполнения планирует отложенный вызов себя же через 1 секунду.
Особенность функции
setTimeout
заключается в том, что при вызове она возвращает
timerId
, который если успеть передать в
clearTimeout
, то таймер(на выполнение функции
updateExamTimer
) отменится.
Следовательно, вам нужно изменить код так, чтоб при отключении интернета вызывался
clearTimeout
и в него передавался
timerId
, который вам нужно куда-то сохранять каждый раз при вызове
setTimeout
После включения интернета, вам потребуется снова вызвать
setTimeout('updateExamTimer()', 1000);
, чтоб запустить таймер
ПодробнейНО так же у вас фигурирует загадочная переменная
EXAM_TIME_LEFT
, которая неизвестно откуда берется. Если это константа и она просто объявлена выше по коду, описанный мной вариант, скорее всего, будет работать, если она прилетает с сервера(и при обновлении страницы она меняется), то ничего работать не будет и отключать таймер придется на сервере в том числе.