Смена стилей кнопок без перезагрузки Есть решение

Здравствуйте, знатоки вебасиста!

Для Вас вопрос может быть банальный - реализован на многих темах дизайна, но у нас опыта не особо много, поэтому обращаюсь за советом к более знающим.

Сайт: https://bau-buy.com

Тема дизайна стандартная default

Вопросов несколько, но все они сходятся к одному - смена стилей и некоторых значений элементов без перезагрузки страницы.

1. На странице каталога, например, https://bau-buy.com/category/postelnye-nabory-s-po... нужно, чтобы чекбоксы фильтра меняли класс на class="checked" при клике на них, а то это происходит только при перезагрузке страницы.


2. Аналогичная ситуация с кнопкой сравнить рядом на миникарточке товара. Она тоже не "чекается" без перезагрузки страницы


3. Количество товаров в списке сравнения и в корзине также обновляется только после перезагрузки страницы.


4. При выборе артикула в товаре с несколькими артикулами тоже выбранный артикул "выделяется" только после перезагрузки страницы..

Буду крайне благодарен любой помощи.

2 ответа

  • 3
    Евгений Партнер-разработчик 2 марта 2018 19:25 # Решение

    для смены класса почитайте про toggleclass

    https://yandex.ru/search/?clid=2186620&text=toggle...

    • +1
      Kemal Tambi Kemal Tambi 2 марта 2018 21:52 #

      Спасибо, Евгений! Думаю, я на пути к решению задачи. Если применять toggleclass к простому элементу на сайте, то добавление классов срабатывает, а вот, например, в фильтре - в коде видно, что при клике на элемент класс подсвечивается (как когда toggleclass добавляет туда инфу), но остаётся неизменным http://prntscr.com/ilzmyg

      Скрипт, можете видеть, обычный, как из примера

      {literal}<script>$('label').click(function () {$(this).toggleClass('checked');});</script>{/literal}
      • +2

        Добавить в default.js (у вас кучу раз дубируется в цикле)

        Примерно так

        $(".filter-param label").click(function() {

        $(this).toggleClass('checked');


        });

        • +2

          после

          $(document).ready(function() {
          • +1
            Kemal Tambi Kemal Tambi 4 марта 2018 20:07 #

            Всё срабатывает, кроме фильтра >.<

            Если на любой другой элемент настроить toggleClass, то всё работает, а именно на элементе фильтра, при котором срабатывает фильтрация, не добавляется класс вообще.. Может, скрипт фильтрации не даёт этого делать?

  • 1

    Думаю вам стоит последовать данной инструкции:

    1. Зайдите в инсталлер.
    2. Выберите нормальную, подходящую вам тему дизайна.
    3. Купите ее!

    P.S. Чем больше костылей вы сейчас в дефолтную тему впилите, тем дороже будут обслуживание и доработки....

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите