const dropDownBtns = document.querySelectorAll('.dropdown__btn');
const dropDowns = document.querySelectorAll('.filter__dropdown');
const removeAllActive = () => {
return dropDowns.forEach(item => item.classList.remove('active'));
};
dropDownBtns.forEach(btn => {
btn.addEventListener('click', async (e) => {
await removeAllActive();
e.target.parentNode.classList.add('active')
});
});
Там надо бы еще оверлей сделать , и ловить клик по нему а не по всему документу. Но пока такой код попробуй который я тебе написал. И не забудь убрать со всех кнопок функции при клике типо myFunction1() myFunction2() и т.д
document.addEventListener('click', removeAllActive)
сначала проверь код который написал первый, если всё ок , потом попробуй это дописать , но я думаю что меню все будут закрываться при любому клике куда-либо , поэтому без оверлея не обойтись.
Потом если сделаешь оверлей или кнопки при которых нужно закрывать дропдауны, я тебе допишу код на Js.