jQuery слайдер пользовательского интерфейса - как инвертировать выбор диапазона
У меня есть несколько странный запрос, чтобы позволить пользователю выбрать диапазон на слайдере, но разрешить им инвертировать выбор диапазона на слайдере. Например, если у них есть этот выбор на слайдере:
Они могут нажать кнопку и инвертировать этот выбор. Мы хотели бы визуально отобразить его следующим образом:
Ползунок будет продолжать функционировать, как и ожидалось, но с подсветка поменялась местами. Я знаю, что вы можете сделать что-то подобное с этим слайдером, установив фиксированный максимум или минимум на диапазоне с одной ручкой, но не уверен, что это возможно, когда используются две ручки. Кто-нибудь знает, можно ли это сделать с помощью ползунка пользовательского интерфейса jQuery?
1 ответ:
Вы можете возиться с CSS, чтобы сделать его похожим на то, что вы хотите. Внутренняя часть слайдера:
<----[]==========[]----> ^^^^^^^^^^Получает свой фон из
.ui-widget-header, внешней части слайдера:<----[]==========[]----> ^^^^ ^^^^Получает свой фон от
.ui-widget-content. Поэтому, чтобы обратить их вспять, вам просто нужноtoggleClassдля переключения этих классов на виджете в целом (для внешнего фона) и на большом пальце (Для внутренней области). Внешняя область-это просто сам слайдер, внутренняя область-это.ui-slider-rangeВнутри слайдера. ползунок.Например, если у вас есть такой слайдер:
<div id="slider-range"></div>Затем вы можете изменить фон следующим образом:
$('#slider-range, #slider-range .ui-slider-range').toggleClass('ui-widget-header ui-widget-content');Вы можете отслеживать, в каком режиме находится слайдер, или вы можете просто проверить классы на
#slider-range .ui-slider-rangeвместо этого.Демо: http://jsfiddle.net/ambiguous/Mu8XS/
Если вам неудобно переключать классы jQuery-UI, то вы можете обернуть ползунок в
<div>, переключить класс на этот<div>и переопределение CSS jQuery-UI:.inverted .ui-widget-content { /* The usual background properties for .ui-widget-header */ } .inverted .ui-widget-header { /* The usual background properties for .ui-widget-content */ }Затем вы можете переключить
.invertedна обертке<div>, чтобы поменять фон вокруг.