mFilter2 type slider for touch
Здравствуйте! В mFilter2 нет возможности пальцем на touch устройствах(мобилки, планшеты...) передвигать слайдер, например «Цены». Яркий пример этому можно посмотреть на minishop2.com, а вот пример где все норм. 3d-m.ru/3d-printery-professionalnye/
Есть возможность как это поправить, кто сталкивался?
Есть возможность как это поправить, кто сталкивался?
Комментарии: 7
mFilter тут ни при чем, вам нужен плагин для jQuery UI, например этот.
Использовать Ion.RangeSlider, например. Пример можете посмотреть Здесь. Единственно необходимо будет поправить момент что этот слайдер посылает тригер change при движении постоянно, в итоге каталог будет обновляться over500 раз (фильтры отлавливают событие change). Правил тем что в самом коде слайдера изменял отправку события change только когда «отпустили» ползунок.
Классно получилось с ionRangeSlider!
Можно узнать, что именно вы правили, а то я вчера целый день потерял на то, чтобы синхронизировать этот слайдер с фильтром. У меня фильтр обновляет значения в инпутах, а mFilter2 подставляет устаревшее предыдущее значение цены.
То есть поставил слайдер на цену 500, mFilter2 обновляется, но цену не меняет. Поставил снова на цену в 800, фильтр обновился и подставил в get-параметры предыдущую цену 500.
Можно узнать, что именно вы правили, а то я вчера целый день потерял на то, чтобы синхронизировать этот слайдер с фильтром. У меня фильтр обновляет значения в инпутах, а mFilter2 подставляет устаревшее предыдущее значение цены.
То есть поставил слайдер на цену 500, mFilter2 обновляется, но цену не меняет. Поставил снова на цену в 800, фильтр обновился и подставил в get-параметры предыдущую цену 500.
Тоже столкнулся с проблемой. Для себя нашел решение:
1. Для правильных значений в фильтре, добавил код на onFinish:
2. Для того чтобы отключить постоянную перезагрузку фильтра при перемещении ползунка, в коде слайдера отключить событие change, в этой строке:
1. Для правильных значений в фильтре, добавил код на onFinish:
$(".range-slider").ionRangeSlider({
range: true,
type: "double",
keyboard: true,
input_values_separator: ",",
onFinish:function(ui){
$(".range-slider").val(ui.from + ',' + ui.to);
$(".range-slider").trigger("change");
},
});
2. Для того чтобы отключить постоянную перезагрузку фильтра при перемещении ползунка, в коде слайдера отключить событие change, в этой строке:
this.old_from === this.result.from && this.old_to ===
this.result.to || this.is_start || (this.$cache.input.trigger("change"), this.$cache.input.trigger("input"));
После вызова assets/components/msearch2/js/web/lib/jquery-ui.min.js добавьте скрипт raw.githubusercontent.com/furf/jquery-ui-touch-punch/master/jquery.ui.touch-punch.min.js
Всем спасибо! Все поучилось)
а у меня не получилось
jquery.ui.touch-punch.min.js — не помогает
может что то изменилось в msearch2?
jquery.ui.touch-punch.min.js — не помогает
может что то изменилось в msearch2?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.