kiskiskit
@kiskiskit
Жадно изучаю каждый пиксель

Как добавить цвет кнопки по клику?

Подскажите, как реализовать изменение цвета по клику на div btn?
Цвет кнопки должен меняться, а иконка должна оставаться на месте
при открытие текста, кнопка должна быть активной
Ссылка на пример: https://codepen.io/kiskiskit/pen/oNXdLxV
  • Вопрос задан
  • 305 просмотров
Решения вопроса 1
@Lord_Dantes
Вот, вам нужно было немного переделать структуру и при клике добавлять класс, еще поправил момент с открытием всех вкладок одновременно.
Код

HTML:
<div class="block-list">
  <div class="block">
    <div class="btn"></div>
    <h2 class="title">Заголовок</h2>
    <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Iste, enim quisquam debitis odio cumque magni maxime totam saepe ad at quas deserunt quod, sapiente nihil cupiditate architecto odit ab officia.</p>
  </div>
  <div class="block">
    <div class="btn"></div>
    <h2 class="title">Заголовок</h2>
    <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Iste, enim quisquam debitis odio cumque magni maxime totam saepe ad at quas deserunt quod, sapiente nihil cupiditate architecto odit ab officia.</p>
  </div>
  <div class="block">
    <div class="btn"></div>
    <h2 class="title">Заголовок</h2>
    <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Iste, enim quisquam debitis odio cumque magni maxime totam saepe ad at quas deserunt quod, sapiente nihil cupiditate architecto odit ab officia.</p>
  </div>
</div>

CSS:
.block-list {
  display: flex; 
  flex-wrap: wrap; 
 
}

.block {
  background: red;
  width: 200px;
  height: 300px;
  margin-left: 20px;
  margin-bottom: 20px;
}

.title {
  background: #eee;
  height: 40px;
}


.btn {
  width: 20px;
  height: 20px; 
  background: green;
  position: absolute;
  margin-left: 160px;
  margin-top: 30px;
  background: url(https://i7.pngflow.com/pngimage/969/593/png-computer-icons-graphics-email-writing-icon-design-website-icon-angle-desktop-wallpaper-computer-icons-email-clipart.png) no-repeat center;
 background-size: 50px;
}
.active-btn{
  background:green;
}

JS(jQuery):
$('.btn').click(function(){
    $(this).parent().find("p").slideToggle();
    $(this).parent().find(".title").toggleClass('active-btn');
  });

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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