alex-lenk
@alex-lenk
Разработчик сайтов

Как объединить три однотипных действия в jquery?

Подскажите, как объединить три однотипных действия, так как действия выполняются одни и те же?

$('.work-1 > img,.first-work figcaption').click(function () {
    $('.work-1').toggleClass('active');
});
$('.work-2 > img,.first-work figcaption').click(function () {
    $('.work-2').toggleClass('active');
});
$('.work-3 > img,.first-work figcaption').click(function () {
    $('.work-3').toggleClass('active');
});


Второй вопрос: Если кликать по очереди на каждую картинку, то всем будет присвоен класс .active, а мне надо так, что бы при клике на другой элемент .active исчезал с предыдущего?

Вот где можно посмотреть то, что я делаю artlenk.ru/project/photo
  • Вопрос задан
  • 160 просмотров
Решения вопроса 2
abler98
@abler98
Software Engineer
var selector = '.work-1, .work-2, .work-3';
$(selector).find('img').click(function () {
    $(selector).removeClass('active');
    $(this).parent().addClass('active');
});
Ответ написан
alex-lenk
@alex-lenk Автор вопроса
Разработчик сайтов
Чуток подправил скрипт от Сергей Семенко
При нажатии на любое изображение закрывалась панель, достаточно было добавить знак первого элемента
var selector = '.work-1, .work-2, .work-3';
$(selector).find('> img').click(function () {
    $(selector).removeClass('active');
    $(this).parent().addClass('active');
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы