@idtimurkolomeets

Как компактно написать такой код?

Ребят, в js очень плох. Есть вот такой скрипт:

$('#cont-one').on('click', function(event) {
         $("#one-cont").addClass("activecont")
         $("#two-cont").removeClass("activecont")
         $("#three-cont").removeClass("activecont")
         $("#four-cont").removeClass("activecont")
         
         event.preventDefault();
    });
    $('#cont-two').on('click', function(event) {
         $("#one-cont").removeClass("activecont")
         $("#two-cont").addClass("activecont")
         $("#three-cont").removeClass("activecont")
         $("#four-cont").removeClass("activecont")
         
         event.preventDefault();
    });
    
    $('#cont-three').on('click', function(event) {
         $("#one-cont").removeClass("activecont")
         $("#two-cont").removeClass("activecont")
         $("#three-cont").addClass("activecont")
         $("#four-cont").removeClass("activecont")
         
         event.preventDefault();
    });
    
    $('#cont-four').on('click', function(event) {
         $("#one-cont").removeClass("activecont")
         $("#two-cont").removeClass("activecont")
         $("#three-cont").removeClass("activecont")
         $("#four-cont").addClass("activecont")
         
         event.preventDefault();
    });
});

Помогите сделать его нормальным, пожалуйста.
  • Вопрос задан
  • 322 просмотра
Пригласить эксперта
Ответы на вопрос 2
alex-1917
@alex-1917
Если ответ помог, отметь решением
Опять вопрос про табы... мда... уже седьмой за неделю.
Когда уже выпускники за станок встанут, всю плешь проели)))

вот www.jooom.ru/toster/toster_10.html
или вот www.jooom.ru/toster/toster_6.html
Ответ написан
Комментировать
Xuxicheta
@Xuxicheta
инженер
[
  $("#one-cont"),
  $("#two-cont"),
  $("#three-cont"),
  $("#four-cont"),
 ]
  .forEach((target, i, tabs) => target.on(
    'click',
    (event) => {
      tabs.forEach(tab => tab.removeClass("activecont"));
      target.addClass("activecont");
      event.preventDefault();
    },
  ));

типа такого
Создает 4 функции с замыканиями, при желании можно оптимизировать в одну функцию, если будет такая нужда.
Ответ написан
Ваш ответ на вопрос

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

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