@Coolam
Web-developer

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

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

$('.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?
  • Вопрос задан
  • 115 просмотров
Решения вопроса 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();
  });
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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