Сообщение от рони
|
Aruta,
менять надо класс элемента, а не стили элемента!!!
потому-что if (elem.style.borderColor == activeBorderColor)
activeBorderColor не содержит нужный цвет, строки 3 и 4, нужно вычислять, писать функцию которая вернёт нужный "цвет", браузеры устанавливают цвет параметра в своих единицах измерения, независимо что было в параметре установки (строка 40 и 59)!!!
поэтому лучше проверять класс элемента elem.classList.contains(), а ещё лучше не проверять а менять сразу elem.classList.toggle() и будет одна строка вместо строк 50 - 63.
|
Цвета пока не трогал, но переписал код.
Добавил 2 класса:
active-show - активированный фильтр - просто когда нажали на фильтр, чтобы посмотреть какие параметры фильтра выбрать можно
active - для активного фильтра с активным чекбоксом
Работает почти всё - осталась одна мелочь и вот её я не понял как и куда надо впихнуть верное условие:
if (click.target = любой соседний li || на самого себя || в любое другое место на document) {
if (текущий активный li имеет class('active-show') ){
li.classList.remove('active-show')
}
}