Я добавляю слушателя событий в окно, чтобы прослушать размер событие. По сути, я бы хотел удалить класс 'center'
, когда ширина браузера падает ниже 768 пикселей, а затем добавляет его обратно, когда мы выше 768 пикселей.JavaScript: Как добавить класс в событие 'resize' после его удаления?
window.addEventListener('resize', function() {
var width = 0,
doc = document,
div = doc.getElementsByTagName('div'), i;
if (window.innerHeight) {
width = window.innerWidth;
} else if (doc.documentElement && doc.document.documentElement.clientHeight) {
width = doc.documentElement.clientWidth;
} else if (doc.body) {
width = doc.body.clientWidth;
}
if (width < 768) {
for (i = 0; i < div.length; i++) {
div[i].classList.remove('center');
}
} else {
div[i].classList.add('center');
}
}, false);
Он удаляет его правильно, но после проверки консоли я немедленно получаю эту ошибку. Не знаю, почему это было бы в журнале эту ошибку с самого начала ...
index.html:591 Uncaught TypeError: Cannot read property 'classList' of undefined(…)
Цените любую помощь!
Просто из любопытства, почему вы не просто с помощью CSS Media Queries, чтобы сделать это? –
Почему вы не используете '@media query' в CSS? – TheValyreanGroup
У вас есть 'doc.document.documentElement', где он должен быть' doc.documentElement' и if (window.innerHeight), где он должен читать window.innerWidth – amdouglas