Только для справки, имена CSS не могут начинаться с цифр, согласно спецификации W3C .Ваш отредактированный пост устраняет необходимость в этом комментарии, но стоит отметить.
Чтобы манипулировать классами с помощью JavaScript, используйте className
(как в myElement.className = 'some-class'
) или classList
интерфейс,Тем не менее, вы специально упомянули «разные размеры экрана», и это главный кандидат для отзывчивых CSS-запросов с использованием селектора @media
.
С учетом всего сказанного:
Пример JavaScript
// CSS
#mySidenav {
width: 1000px;
}
#mySidenav.responsive-class {
width: 500px;
}
// JS
const mySidenav = document.querySelector('#mySidenav');
window.addEventListener('resize', function() {
if (window.innerWidth < 200) {
mySidenav.classList.add('responsive-class');
}
else {
mySidenav.classList.remove('responsive-class');
}
});
Пример CSS
#mySidenav {
width: 1000px;
}
@media query and (max-width: 200px) {
#mySidenav {
width: 500px;
}
}
Как видите, последний пример намного проще.Перейти с подходом CSS.Над вами появится ореол.