Задать вопрос
Stasy11
@Stasy11
The best epta

Как на js сделать смену css классов при клике на кнопку?

Есть шаблон на bootstrap. В нём использую сетку:

<div class="row">
 <div class="col-md-9" id="cont">контент</div>
 <div class="col-md-3" id="side">Сайдбар</div>
</div>

Нужно по клику на кнопку менять классы, чтобы получилось такое:

<div class="row">
 <div class="col-md-12" id="cont">контент</div>
 <div class="col-md-3 d-none" id="side">Сайдбар</div>
</div>

Чтобы у блока с id=cont менялось col-md-9 на col-md-12.
А у блока с id=side добавлялся класс d-none.
И по повторному клику чтобы классы возвращались обратно.
  • Вопрос задан
  • 4068 просмотров
Подписаться 4 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const content = document.querySelector('#cont');
const sidebar = document.querySelector('#side');
let state = false;

document.querySelector('button').addEventListener('click', () => {
  state = !state;
  content.classList.toggle('col-md-9',  !state);
  content.classList.toggle('col-md-12',  state);
  sidebar.classList.toggle('d-none',     state);
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
используй classList
Ответ написан
Комментировать
@jamster
classList.toggle('class-name') - если класса нет добавляет, если есть то убирает.
classList.add('class-name') - добавляет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы