Задать вопрос
@verstak2020

Как сократить код jq?

Есть слик слайдер, ниже него контейнер с блоками (внутри каждого блока контент к каждому отдельному слайду). Необходимо, реализовать раскрытие блока при клике на слайд (изначально блоки скрыты). Сделал такое, как сократить код, и что бы не менять код после добавления например еще трех слайдов? Если можно с пояснениями.

$(document).ready(function () {
    $('.item-tab1').click(function (evt) {
        evt.preventDefault();
        $('.rent-cards > div').removeClass('active');
        $('.rent-card1').addClass('active');
    })
    $('.item-tab2').click(function (evt) {
        evt.preventDefault();
        $('.rent-cards .rent-card').removeClass('active');
        $('.rent-card2').addClass('active');
    })
    $('.item-tab3').click(function (evt) {
        evt.preventDefault();
        $('.rent-cards .rent-card').removeClass('active');
        $('.rent-card3').addClass('active');
    })
})
  • Вопрос задан
  • 155 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@sergiojeyramos
Веб-разработчик
Просто добавь на item-tab атрибут с цифрой и бери его, как уникальное значение, для всех этих элементов задай одинаковый класс. P.S. Вообще у слика есть уже свой атрибут с цифрой (data-slick-index называется), можно использовать его
$(document).ready(function () {
    $('.item-tab').click(function (evt) {
        evt.preventDefault();
        $('.rent-cards > div').removeClass('active');
        $('.rent-card'+$(this).data('id')).addClass('active');
    })
})
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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