• Как сократить код в одну функцию?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Убираешь нафиг txt-1/txt-2/txt-n классы у элементов, вместо этого добавляешь им дата-аттрибуты с айдишниками. Аля data-id="2". Через делегирование вешаешь один обработчик на все .txt элементы. Внутри получаешь их id из атрибута, затем у активного элемента убираешь active-класс, текущему (кликнутуму) его добавляешь, затем прячешь все .img (тут на самом деле тоже лучше поменять с hide/fadein на классы, но это уже не моя проблема) и показываешь нужный с помощью полученного ранее id.
    $(document).on("click", ".txt", function(e) {
      e.preventDefault();
    
      var id = $(this).data("id");
    
      $(".txt.txt-active").removeClass("txt-active");
      $(this).addClass("txt-active");
      $(".pull-right .img").hide();
      $(".pull-right .img-"+id).fadeIn();
    });
    Ответ написан
    Комментировать