停止jQuery UI滑块移动超过给定值

Stopping the jQuery UI slider from moving past a given value?

本文关键字:移动 jQuery UI 停止      更新时间:2023-09-26

在我的页面上,我有几个滑块。它们都需要相同的规模,但有些达到150,有些达到200。我想将它们的最大值设置为200,但防止其中一些移动超过150。它们是不同的$().slider()调用,所以我只是对如何将滑块的最大值设置为200,但不允许任何超过150的移动感兴趣…

我认为这种行为是内在的,但显然不是?

仅供参考:我正在为这些滑块使用范围:"min"。

编辑

http://jsfiddle.net/D9nAx/1/

使用幻灯片事件:

$( "#slider-vertical" ).slider({
    orientation: "vertical",
    range: "min",
    min: 0,
    max: 200,
    value: 60,
    slide: function( event, ui ) {
        if(ui.value> 150)
            return false;
        $( "#amount" ).val( ui.value );
    }
});

小提琴:http://jsfiddle.net/dvz8E

$( "#slider-vertical" ).slider({
    orientation: "vertical",
    range: "min",
    min: 0,
    max: 200,
    value: 60,
    slide: slide
});
function slide(event, ui){
    var result = true;
    if (ui.value > 150){
        $(this).slider( "value" , 150 );
        result = false;
    }
    $( "#amount" ).val( $(this).slider( "value") );
    return result;
}

http://jsfiddle.net/D9nAx/2/