Проблема в том, что вы звоните setInterval
много раз и никогда не очищаете ни одного из них. Таким образом, через некоторое время у вас будет много интервальных обратных вызовов, запущенных примерно в одно и то же время.
Изменить
t = setInterval('tick()',60000);
до
t = setTimeout(tick,60000);
Когда я впервые начал кодировать JavaScript, я отключил веб-сервер Lycos с помощью вызовов AJAX, потому что сделал ту же ошибку: -)
Обратите внимание, что, поскольку вы отображаете фактическое время, вы должны использовать намного более короткий таймер, чем 1 минута. Если я зайду на вашу веб-страницу в 13:42:30, время не будет обновлено до ~ 13: 43: 30. Чтобы синхронизировать его со временем машины, вы, вероятно, захотите установить таймер на 1000
.