Как при повторном нажатии удалить добавленный стиль?
document.querySelector(’#menu-link’).addEventListener(‘click’, () => {
document.querySelector(‘nav’).classList.add(‘active’);
})
Как при повторном нажатии удалить добавленный стиль?
document.querySelector(’#menu-link’).addEventListener(‘click’, () => {
document.querySelector(‘nav’).classList.add(‘active’);
})
Наверное ты имеешь в виду класс
(CSS класс).
document.querySelector('nav').classList.toggle('active');
Метод toggle
делает именно что надо для твоего случая.
А ещё можешь подсказать, как отменить действие при повторном нажатии?
document.querySelector(".menu").onclick = function() {
document.body.style.overflow = ‘hidden’;
}
Не понятно что имеешь в виду. Хочешь убрать overflow: hidden при повторном нажатии? Или не применять второй раз стиль overflow: hidde?
Да, убрать overflow hidden, при повторном нажатии
Самый надежный подход для такого случая - хочешь добавить-убрать стиль, сделай это через класс. Как это было описано в твоем первом вопросе. Остальные подходы (как и тот что я привожу ниже) будут ограничены в своей применимости, неуниверсальны.
Можно, например, проверить значение стиля и ставить новый в зависимости от значения текущего.
if (document.body.style.overflow === 'hidden') {
document.body.style.overflow = null
} else {
document.body.style.overflow = 'hidden'
}
Да, то что надо. Спасибо друг, ты лучший!