Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery UI在一个滑块上有两个不同的处理程序_Jquery_Jquery Ui_Uislider - Fatal编程技术网

JQuery UI在一个滑块上有两个不同的处理程序

JQuery UI在一个滑块上有两个不同的处理程序,jquery,jquery-ui,uislider,Jquery,Jquery Ui,Uislider,所以我想让它像这样工作: 在一个处理程序中获得旧值,该处理程序具有自己的外观,并且这些处理程序应该是静态的(用户不能移动它) 第二个应该与它自己的外观也应该是可拖动的,在双方比第一个,可以得到更小或更大的价值 例如,得到的范围为0-50 白色标记在23号 其他红色处理程序将在其他值(较大或较小)上拖动,给出一个范围(彩色条)和一个值差(也可以是负数) 所以我把第二个标记放在21,它会给出-2 所以我尝试了很多次使用范围滑块,将静态添加到单个滑块,但没有得到解决方案,甚至没有接近 任何建议都将不胜

所以我想让它像这样工作: 在一个处理程序中获得旧值,该处理程序具有自己的外观,并且这些处理程序应该是静态的(用户不能移动它) 第二个应该与它自己的外观也应该是可拖动的,在双方比第一个,可以得到更小或更大的价值

例如,得到的范围为0-50 白色标记在23号 其他红色处理程序将在其他值(较大或较小)上拖动,给出一个范围(彩色条)和一个值差(也可以是负数) 所以我把第二个标记放在21,它会给出-2

所以我尝试了很多次使用范围滑块,将静态添加到单个滑块,但没有得到解决方案,甚至没有接近


任何建议都将不胜感激。

总体思路是找出您不想移动的句柄,然后取消该句柄的幻灯片事件


好的,这几乎是完美的。因为当我设置一个range:true选项时,它就停止工作了。但这个解决方案将是好的。对于那些想要更改其中一个滑块的人,只需添加:$(“#slider”).find('a:nth child(2)').addClass('ui-slider-handleinactive');除了为ui滑块handleinactiveIt添加css,它仍然适用于我,但range:true的问题是一个句柄不能通过另一个句柄。必须在幻灯片事件期间手动添加和设置范围显示。
var firstHandle, secondHandle;

$("#slider​​​​​​​").slider({
    values: [0,50],
    slide: function(event, ui){
        var handleElem = $(ui.handle).get(0);
        if( handleElem == secondHandle.get(0)) {
            return false; //cancel slide
        }
    }
});
firstHandle = $("#slider").find(".ui-slider-handle:first");
secondHandle = firstHandle.next();