Я использую NoUiSlider , и мой основной вариант использования - иметь несколько диапазонов, которые могут действовать независимо.
Например, 2 диапазона, представляющих 2 годовых диапазона:
- один диапазон 2002 г. (с начала 2002 г. до конца 2002 г.)
- один диапазон начала 2007 г.до конца 2010 года.
Кроме того, оба диапазона можно перемещать по оси, чтобы изменить охватываемые годы, а также можно изменить размер диапазона, включив в него больше или меньше лет.
Это прекрасно работает.
Однако у меня есть некоторые ограничения.Например, пользователь не может создать диапазон, который больше или меньше определенного размера.У NoUiSlider есть опции, которые управляют этим: Margin и Limit .Они налагают ограничения, но действуют глобально для всех дескрипторов (во всех диапазонах).
Я действительно беспокоюсь только о соблюдении правил среди связанных дескрипторов в одном диапазоне.
В этой скрипке: https://jsfiddle.net/hbL4v0ce/ вы можете увидеть поведение.
var slider = document.getElementById('slider');
noUiSlider.create(slider, {
start: [2002, 2003, 2008, 2012],
step: 1,
connect: [false, true, false, true, false],
margin: 0,
limit: 4,
behaviour: 'drag',
range: {
'min': 2000,
'max': 2016
},
pips: {
mode: 'steps',
density: -1
},
});
Правый диапазон больше не может быть перемещен вправо, потому что одна из ручек уже настроенаОграничение в 4 единицы от левого диапазона, и аналогичным образом левый диапазон больше нельзя перемещать влево.Это не то поведение, которое мне нужно.
Если бы я мог указать отдельные пределы / поля для каждого подключенного диапазона, думаю, это решило бы мою проблему.Можно ли сделать это?Или есть другой подход для достижения моих целей?