Привет всем, возник вопрос, можно ли сделать на jquery функцию такого рода, которая при клике на нужный блок делает его активным, а все остальные другие неактивными. И при повторном нажатии на активный блок также убрать его активность. С первой частью я разобрался, сделал функцию такого рода
$(".block").click(function(){
$(".block").each(function(){ $(".block").removeClass("active"); });
$(this).addClass("active");
});
Как сделать так,чтобы при нажатии на активный блок он делался неактивным? Я пробовал сделать кнопку, при нажатии на которую убирается класс "active", но может это реально сделать в пределах одной функции,не используя сторонних кнопок, дабы код был более лаконичный
Если активность блока у вас маркируется наличием класса active, тогда используйте примитивы:
$().addClass("active")$().removeClass("active")$().toggleClass("active")В целом, мне кажется, что можно просто по клику переключать класс активности:
$(".block").click(function(){
// На нажатом элементе .block переключаем состояние активности
$(this).toggleClass("active");
// Для всех элементов .block, кроме того, на который нажали, уберем активность
$(".block").not(this).removeClass("active");
});
Не знаю, насколько это изящно, смотрите сами
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости