Смена стилей кнопок без перезагрузки Есть решение
Здравствуйте, знатоки вебасиста!
Для Вас вопрос может быть банальный - реализован на многих темах дизайна, но у нас опыта не особо много, поэтому обращаюсь за советом к более знающим.
Сайт: https://bau-buy.com
Тема дизайна стандартная default
Вопросов несколько, но все они сходятся к одному - смена стилей и некоторых значений элементов без перезагрузки страницы.
1. На странице каталога, например, https://bau-buy.com/category/postelnye-nabory-s-po... нужно, чтобы чекбоксы фильтра меняли класс на class="checked" при клике на них, а то это происходит только при перезагрузке страницы.
2. Аналогичная ситуация с кнопкой сравнить рядом на миникарточке товара. Она тоже не "чекается" без перезагрузки страницы
3. Количество товаров в списке сравнения и в корзине также обновляется только после перезагрузки страницы.
4. При выборе артикула в товаре с несколькими артикулами тоже выбранный артикул "выделяется" только после перезагрузки страницы..
Буду крайне благодарен любой помощи.
6 ответов
Думаю вам стоит последовать данной инструкции:
P.S. Чем больше костылей вы сейчас в дефолтную тему впилите, тем дороже будут обслуживание и доработки....
для смены класса почитайте про toggleclass
https://yandex.ru/search/?clid=2186620&text=toggle...
Спасибо, Евгений! Думаю, я на пути к решению задачи. Если применять toggleclass к простому элементу на сайте, то добавление классов срабатывает, а вот, например, в фильтре - в коде видно, что при клике на элемент класс подсвечивается (как когда toggleclass добавляет туда инфу), но остаётся неизменным http://prntscr.com/ilzmyg
Скрипт, можете видеть, обычный, как из примера
Добавить в default.js (у вас кучу раз дубируется в цикле)
Примерно так
$(".filter-param label").click(function() {
});
после
Всё срабатывает, кроме фильтра >.<
Если на любой другой элемент настроить toggleClass, то всё работает, а именно на элементе фильтра, при котором срабатывает фильтрация, не добавляется класс вообще.. Может, скрипт фильтрации не даёт этого делать?