const tabsItem = document.querySelectorAll('.media-tab')
const tabNav = document.querySelectorAll('.media-category__item')
tabsItem[0].classList.add('active')
document.addEventListener('click', (e) => {
const target = e.target.closest('.media-category__item');
if (target) {
const dataTarget = target.dataset.category;
tabNav.forEach(elem => {
if (!elem.classList.contains('active') && elem === target) {
elem.classList.add('active')
} else {
elem.classList.remove('active')
}
})
tabsItem.forEach(elem => {
if (!elem.classList.contains('active') && elem.dataset.tab === dataTarget) {
elem.classList.add('active')
} else {
elem.classList.remove('active')
}
})
}
})
Это табы. Мне не нравится, что я сначала добавляю класс кнопке, а потом добавляю класс табу, хотел это как то объединить, но не очень понял как.
Да и вообще как реализация в целом?Готов принять поток чего угодно в свою сторону аргументированно.
Я понимаю что код мал, но возможно у вас есть какие то предложения.