Пытался написать таймер на JS. В консоли браузера появилась ошибка Uncaught TypeError: Cannot set property 'innerHTML' of null. Гуглил данную проблему. В основном пишут про не полную загрузку DOM документа при выполнении скрипта. Добавил в начало кода window.addEventListener('DOMContentLoaded', function(){ };
let deadline = '2018-04-20';
window.addEventListener('DOMContentLoaded', function(){
function getTimeRemaining(endtime) {
let t = Date.parse(endtime) - Date.parse(new Date()),
seconds = Math.floor( (t/100) % 60 ),
minutes = Math.floor( (t/1000/60) % 60 ),
hours = Math.floor( (t/(1000*60*60)) );
return {
'total': t,
'hours': hours,
'minutes': minutes,
'seconds': seconds
};
};
function setClock(id, endtime) {
let timer = document.getElementById(id),
hours = timer.querySelector('.hours'),
minutes = timer.querySelector('.minutes'),
seconds = timer.querySelector('.seconds');
function updateClock() {
let t = getTimeRemaining(endtime);
hours.innerHTML = t.hours;
minutes.innerHTML = t.minutes;
seconds.innerHTML = t.seconds;
if(t.total <= 0) {
clearInterval(timeInterval);
}
};
updateClock();
let timeInterval = setInterval(updateClock, 1000);
};
setClock('timer', deadline);
});
Ничего не поменялось. Какие еще причины появления данной ошибки могут быть? Спасибо.