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

Как можно оптимизировать этот код?

Есть такой кусок кода

$('.buy7').on('click', function(){
    $('.bought7').fadeIn(600);
    $('.tovar7').val($('.h27').text());
    $(this).fadeOut();
});
$('.otmena7').on('click', function(){
    $('.bought7, this').fadeOut(600);
    $('.buy7').show();
});

$('.buy8').on('click', function(){
    $('.bought8').fadeIn(600);
    $('.tovar8').val($('.h28').text());
    $(this).fadeOut();
});
$('.otmena8').on('click', function(){
    $('.bought8, this').fadeOut(600);
    $('.buy8').show();
});


На сайте таких кнопок 8, как можно оптимизировать до единого шаблона для всех 8?
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Элементарный ведь цикл:
for (let i = 1; i<= 8; i++) {
  $('.buy' + i).on('click', function(){
      $('.bought' + i).fadeIn(600);
      $('.tovar' + i).val($('.h2' + i).text());
      $(this).fadeOut();
  });
  $('.otmena' + i).on('click', function(){
      $('.bought' + i + ', this').fadeOut(600);
      $('.buy' + i).show();
  });
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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