Как написать максимально лаконичный код на js(с методами и тд), чтобы при нажатии на любой слайдер (отличный от активного) класс 'active' добавлялся нажатому, а с предыдущего удалялся?
Html:
<button class="slider-btn slider-btn--active" aria-label="Первый переключатель слайдера" disabled></button>
<button class="slider-btn" aria-label="Второй переключатель слайдера"></button>
<button class="slider-btn" aria-label="Третий переключатель слайдера"></button>
У самого получилось грамоздко, не могу допереть как уменьшить и сделать более отзывчивым к кол-ву кнопок
Js:
const sliderBtn = document.querySelectorAll('.slider-btn');
sliderBtn.forEach((btn, i) => {
btn.addEventListener('click', function () {
if (i == 0) {
sliderBtn[i].classList.add('slider-btn--active');
sliderBtn[i].disabled = true;
sliderBtn[i+1].classList.remove('slider-btn--active');
sliderBtn[i+1].disabled = false;
sliderBtn[sliderBtn.length - 1].classList.remove('slider-btn--active');
sliderBtn[sliderBtn.length -1].disabled = false;
} else if (i == 1) {
sliderBtn[0].classList.remove('slider-btn--active');
sliderBtn[0].disabled = false;
sliderBtn[i].classList.add('slider-btn--active');
sliderBtn[i].disabled = true;
sliderBtn[sliderBtn.length - 1].classList.remove('slider-btn--active');
sliderBtn[sliderBtn.length - 1].disabled = false;
} else {
sliderBtn[0].classList.remove('slider-btn--active');
sliderBtn[0].disabled = false;
sliderBtn[i-1].classList.remove('slider-btn--active');
sliderBtn[i-1].disabled = false;
sliderBtn[i].classList.add('slider-btn--active');
sliderBtn[i].disabled = true;
}
});
});