Пример довольно примитивный, но показывает, как избежать дублирования на вашем примере.
С вашим же подходом, если у вас будет 50 слайдеров, то вам придется создавать как минимум 50 переменных для каждого счетчика. Это лишний код, лишние баги и неудобства. Поэтому в таких случаях используют конструкторы/классы (сахар для конструктора + прототип).
Чтобы остановить всплытие надо использовать event.stopPropagation(). Это надо, чтобы событие не всплывало до листенера на document. Иначе контейнер будет открываться при клике по кнопке, а затем закрываться, когда событие всплывет.
Останавливаем всплытие при клике по aside: <aside onclick="event.stopPropagation();">
Получим HTMLCollection из input'ов. Итерируем массив из полученных элементов, у каждого не скрытого получаем parentNode, это необходимый div. Добавляем ему необходимые классы, полученные из input.name.