如何使滑块手柄之间的范围固定?

时间:2014-03-19 18:56:43

标签: jquery-ui-slider

我正在使用其中一个项目中使用jQuery UI Slider,并且需要以某种方式限制用户可以选择的范围。滑块上有2个拖拉机。值,例如[0,100],左拖动为50,右拖动为55.当左拖动移动到45时,我需要将右拖动移动到50,因此差异始终为5.同样当我改变正确的拖拉机位置。例如,如果右侧拖动器移动到60,则左侧拖动器应移动到55.我尝试按以下方式执行:

if((ui.values[ 1 ] - ui.values[ 0 ]) > 5) {
    $("#slider").slider("values", 0, ui.values[ 0 ] + 5);
    $("#slider").slider("values", 1, ui.values[ 1 ]);
}

然而,这似乎不正常。

有谁能告诉我怎么能实现这个目标?

谢谢!

1 个答案:

答案 0 :(得分:2)

试试这个..这必须有效..

$("#slider-range").slider({
    slide: function(e, ui){
        var index = $(this).children("a").index(ui.handle);
        var next = (index == 0) ? 1 : 0;
        if((ui.values[ 1 ] - ui.values[ 0 ]) >= 5) {
            var newVal = (index == 0) ? ui.values[ 0 ] + 5 : ui.values[ 1 ] - 5;
            $("#slider-range").slider("values", next, newVal);
        }
    }
});