Задать вопрос
Vinnica
@Vinnica
Начинающий верстальщик

Как оптимизировать js?

Есть сайт, demo8.saitobaza.ru/moloko , на нем есть вызов модального окна по средствам фенсибокс take.ms/DABNG , в этом модальном окне у нас есть 6 товаров take.ms/lmVcJ . и надо что бы при клике на товар открывалась карточка товара take.ms/IhY8H , в этом же модальном окне. Я использую весьма примитивный метод который будет при клике скрывать все товара и отображать скрытый товар, что то на подобие этого
$('.prod').click(function(data){
    $('.product-1').addClass('hidden');
    $('.product-md-1').removeClass('hidden');
});
$('.prod2').click(function(data){
    $('.product-1').addClass('hidden');
    $('.product-md-2').removeClass('hidden');
});

он реализован не первом и втором товаре take.ms/E2Rdk .
но данный метод не подходит для заказчика так как при добавлении нового товара необходимо будет писать под каждый товар свои строчки скрипта. Нужно оптимизировать этот код таким образом что бы не надо было особо много телодвижений делать для добавления нового товара.

кто может подсказать как это сделать, а то моих знаний просто не хватает для реализации этого функционала
  • Вопрос задан
  • 161 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Сделать класс не .prod1 и .prod2, а просто .prod, добавить атрибут data-num и фсе:
$('.prod').click(function(){
var num = $(this).attr('data-num');
    $('.product-'+num).addClass('hidden');
    $('.product-md-'+num).removeClass('hidden');
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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