Скрывать блоки по нажатию на кнопку

207
22 апреля 2018, 19:44

Есть секция с проектами и кнопками, как сделать чтоб по нажатию определенной кнопки к ней дбавлялся класс .active и скрывались все блоки кроме блоков с определенным id

Answer 1

Это называется фильтрация элементов

смотреть на полном экране

var fActive = ''; 
 
function filterColor(color) { 
  if (fActive != color) { 
    $('div').filter('.' + color).slideDown(); 
    $('div').filter(':not(.' + color + ')').slideUp(); 
    fActive = color; 
  } 
} 
 
$('.f-red').click(function() { 
  filterColor('red'); 
}); 
$('.f-blue').click(function() { 
  filterColor('blue'); 
}); 
$('.f-green').click(function() { 
  filterColor('green'); 
}); 
 
$('.f-all').click(function() { 
  $('div').slideDown(); 
  fActive = 'all'; 
});
body { 
  padding: 10%; 
  font-family: sans-serif; 
} 
 
button { 
  padding: 1em; 
  border: 0; 
  margin: 0.25em; 
  color: #fff; 
  cursor: pointer; 
} 
 
.f-red { 
  background: #ff4136; 
} 
 
.f-red:hover { 
  background: #e90d00; 
} 
 
.f-green { 
  background: #2ecc40; 
} 
 
.f-green:hover { 
  background: #208e2c; 
} 
 
.f-blue { 
  background: #0074d9; 
} 
 
.f-blue:hover { 
  background: #004b8c; 
} 
 
.f-all { 
  background: #333; 
} 
 
.f-all:hover { 
  background: #0d0d0d; 
} 
 
.red, 
.green, 
.blue { 
  color: #fff; 
  padding: 1em; 
  margin-bottom: 0.25em; 
} 
 
.red { 
  background: #ff4136; 
} 
 
.green { 
  background: #2ecc40; 
} 
 
.blue { 
  background: #0074d9; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<h2>Фильтрация элементов с помощью jQuery</h2> 
 
<p> 
  <button class="f-red">Фильтр красных элементов</button> 
  <button class="f-blue">Фильтр синих элементов</button> 
  <button class="f-green">Фильтр зеленых элементов</button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <button class="f-all">Все элементы</button> 
</p> 
 
<div class="red">Первый</div> 
<div class="red">Второй</div> 
<div class="blue">Третий</div> 
<div class="green">Четвертый</div> 
<div class="red">Пятый</div> 
<div class="blue">Шестой</div> 
<div class="blue">Седьмой</div> 
<div class="green">Восьмой</div>

READ ALSO
Проблема с передачей данных из формы (MVC)

Проблема с передачей данных из формы (MVC)

Уважаемые, столкнулся с проблемой, не могу никак её решитьИмеется форма, из неё данные идут на добавление и обновление

197
Глючит анимация html js

Глючит анимация html js

Я делаю всплывающее окно, над кнопкой, при успешном добавлении в корзинувсе вроде работает, но проблема если товар находится в слайдере, slick

208
innerHTML. В чем проблема?

innerHTML. В чем проблема?

Имеется некоторое количество строк кода:

192