Переключение цветов блока по клику

298
01 марта 2017, 21:23

В общем, есть 6 блоков, при клике на блок, он должен стать синим, вот мой скрипт

  $(document).ready(function(){
    $(".price__list__wrapper").each(function(){
    $(this).click(function(){
    if ($(this).hasClass('non-active')) {
    $(this).css('backgroundColor','#467EEE').removeClass('non-active');
    }else{
      $(this).css('backgroundColor','#fff').addClass('non-active');
    }
   });
   })
   });

Он работает нормально, но нужно сделать так чтоб при клике на другой блок, цвет у текущего выбранного убирался, а они выделяются каждый по очереди,и при повторном клике цвет убирается. Нужно чтобы работало похоже на radio поесть пока 1 активный остальные нет.

Answer 1

Добавьте активный цвет в активный класс.

$(document).ready(function() { 
    $(".price__list__wrapper").click(function() { 
        $(".active").not(this).removeClass('active'); 
        $(this).toggleClass('active'); 
    }); 
});
.price__list__wrapper 
{ 
  width:200px; 
  height:50px; 
  border-color:black; 
  border-style:solid; 
  border-width:1px; 
  background-color: #DDD; 
} 
 
.active 
{ 
  background-color: #467EEE; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="price__list__wrapper"></div> 
<div class="price__list__wrapper"></div> 
<div class="price__list__wrapper"></div> 
<div class="price__list__wrapper"></div>

READ ALSO
Закрытие всплывающего окна js

Закрытие всплывающего окна js

Всем приветПодскажите пожалуйста способы закрытия модального окна по клику на кнопку? У меня есть скрипт, который именно это и делает, но после...

538
Вызов атрибута data

Вызов атрибута data

Не могу разобраться, как вызвать атрибут data, есть шаблон на bootstrap, есть Notifications, вызывается он с помощью кнопки

272
Как получить значение параметра в vue.js 2 router?

Как получить значение параметра в vue.js 2 router?

Я пытаюсь получить значение параметра Myparam $routeparams

270