Jquery UI Slider - в настоящее время линейный, хотел бы изменить формулу для отображения - PullRequest
0 голосов
/ 11 сентября 2009

Я пытаюсь внести изменения в JQuery UI Slider. Изменение его от линейного в его диапазоне числа к большему количеству на основе формулы. Причина в том, что мы продаем алмазы, и наш диапазон составляет от 0,30 карата до 9 карат, однако 90% покупателей хотят что-то от 0,30 до 2, поэтому я бы хотел, чтобы этот диапазон был большей частью слайдера.

Надеюсь, это имеет смысл. Тем не менее, я думаю, что мне нужен некоторый опыт в том, как этого добиться или с чего начать.

Требования: при поиске в каратах 90% наших алмазов находятся в диапазоне от 0,3 до 3,0 карат, что составляет всего 30% от реальной (горизонтальной) площади самого слайдера. Мы хотим, чтобы он скользил [.30-3.0] карата для первых 66% ползунка, а затем увеличивался намного быстрее для оставшейся части ползунка [3.0-9.0] карата. Это почти так же, как мы хотим изменить это от перемещения в линейной форме к большей кривой, то есть y = x ^ 1.25, где y - это значение в каратах, а x - это позиция ... возможно, используя кривую x ^ 2 после того, как они превышать 3,0-каратовый маркер ..

Заранее спасибо за ЛЮБЫЕ указатели, поддержку, советы !! Роберт

Ответы [ 3 ]

1 голос
/ 11 сентября 2009

Я думаю, что самый простой способ - использовать линейную шкалу на слайдере, а затем выполнить какую-то математическую операцию под капотом, чтобы получить нелинейный результат. Вместо того, чтобы изменять элемент управления, придумайте диапазон разумного размера (0-100), скажем; затем переведите результат из этого диапазона в выходной, в соответствии с формулой, которую вы здесь дали.

0 голосов
/ 12 августа 2011

Я скомпилировал решение этой проблемы для дальнейшего использования здесь: https://github.com/BlakeSimpson/SteppedRangeSlider

0 голосов
/ 11 сентября 2009

Задумывались ли вы о создании собственной версии слайдера для ваших нужд?

ID говорит, что хорошим началом будет попытка изменить все вхождения вычисления curValue s в ползунке

...