在Jquery UI滑块处理程序中设置第二个处理程序的最大值

时间:2014-03-06 18:22:14

标签: javascript jquery jquery-ui-slider

多年来使用STOFLW,我第一次没有找到答案。所以,让我们走吧:

我有一个jquery UI滑块范围,比方说从-5到5.我想在第一个处理程序被移动到正值后将第二个处理程序maximun设置为0(实际上第一个处理程序已经被强制选择积极的价值观)。

提出这个问题的另一种方法是“我可以强制其中一个处理程序只选择psoitive值而另一个只选择负数值”

关心和顺便说一下,感谢这里的每一个人,你为我节省了大量的小吃。

2 个答案:

答案 0 :(得分:0)

文件说         分钟:300,         最大值:2500,     步骤:100,     价值:500,

我用自己的例子。

$("#slider-impulseH").slider({
orientation: "hortizonal",
range: "min",
min: 300,
max: 2500,
step: 100,
value: 500,
slide: function( event, ui ) {
    $( "#engineI" ).text( ui.value );
    }
change: function( event, ui ) {
 $( "#engineI" ).text( ui.value );
 }
});

滑块slider中的最大文档。

答案 1 :(得分:0)

找到解决方案,我已编辑帖子并在此处制作了一个jsFiddle:http://jsfiddle.net/santirisco/mPNsC/3/

$( ".slider-form").slider({
            values: [0,0],
            min: -5,
            max: 5,
            step:.5,
            animate: true,
            create: function(event, ui) {
        //On Create create an array to store the values of each handler
                hndlrpos=[];
            },
            stop: function( event, ui ) {
        //On Stop store the values of each handler
                for (i=0; i<=$('.ui-slider-handle').length; i++){
                    hndlrpos[i]=ui.values[i]
                }
            },
            slide: function( event, ui ) {
        //ON Slide return false if we are overpasing the limits, 
        //this part shuold be improved but by now it's working
                if( (hndlrpos[0]!== undefined && hndlrpos[0]>0&&(ui.values[1])>0)
                    ||
                    (hndlrpos[0]!== undefined && hndlrpos[0]<0&&(ui.values[1])<0)
                    ||
                    (hndlrpos[1]!== undefined && hndlrpos[1]>0&&(ui.values[0])>0)
                    ||
                    (hndlrpos[1]!== undefined && hndlrpos[1]<0&&(ui.values[0])<0))
                {
                    return false;
                }
            }

        });