минимальная разница в диапазоне слайдера jquery - PullRequest
9 голосов
/ 25 февраля 2011

Я видел несколько примеров того, чего я добиваюсь, но ничего, что действительно отвечало бы на мои запросы.

Я изменяю значение двух элементов с помощью ui.values ползунка. Разница между этими значениями не может быть меньше 2.

Так что я использовал быструю формулу, если (x-y <2) не изменился, иначе изменился Но если разница меньше '2', обработчики ползунка все еще перемещаются. В любом случае, чтобы остановить это? </p>

var sstart = $("#slidestart").text()
var send = $("#slideend").text()

$('#dateSlider').slider({
    range: true,
    min: 1,
    minRange: 2,
    max: 14,
    step: 1,
    values: [ sstart, send ],
        slide: function( event, ui ) {
            if(ui.values[1] - ui.values[0] < 2){
                // do not allow change
                alert("that is naughty");
            } else {
                // allow change
                    $("#slidestart").text(ui.values[0])
                    $("#slideend").text(ui.values[1])   
            }   
        }
});

Спасибо: Отличный результат.

return false;

JS BIN EDIT

Ответы [ 2 ]

23 голосов
/ 25 февраля 2011

На самом деле все, что вам нужно сделать, это заменить свое оповещение на:

return false;
3 голосов
/ 15 августа 2011

Для дальнейшего использования

Принятый ответ является абсолютно действительным и должен использоваться в вашем случае, но я также предоставлю ответ для любой будущей ссылки.

У меня было немного больше ограничений, поэтому я создал расширение поверх существующего виджета JQuery UI Slider. Он имеет дополнительные параметры (некоторые из которых относятся к минимальному и максимальному размеру диапазона слайдов).

Проверьте мой блог с подробным кодом.

Все изменения относятся к ползунку диапазона и включают

  • установка минимального и максимального размера диапазона
  • нижняя граница диапазона максимально допустимое значение
  • верхняя граница диапазона минимально допустимое значение
  • автоматическое скольжение диапазона (при достижении максимального размера диапазона перетаскиваемая рукоятка тащит другую ручку вперед, чтобы сохранить максимальный размер диапазона)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...