1

我想要一个范围为 0 到 2400 的滑块,它受另一个滑块值的限制。它们加起来最多只能是 2400。我尝试在 change 方法中实现它,如下所示:

var cal_sl = $("#sl_4");
cal_sl.attr('max', 2400);   
cal_sl.change(function()
{
    var sumv = ($("#sl_3").val()*1)+($(this).val()*1);
    if(sumv>2400)
    {
        $(this).val(2400-$("#sl_3").val());            
    }
    var slider_value = $(this).val();

});

但是滑块不会移动(只有滑块的文本框是正确的)。如果我也加一个刷新,change函数会进入一个刷新/更改/刷新/...的无限循环

另外,我不想更改“最大值”值,因为拇指应该位于滑块的中间,值为 1200,但如果另一个滑块的值为1200也一样。

这怎么可能实现?

4

1 回答 1

0

我只需要在 if 中设置刷新,这样就不会发生无限循环:

$(this).slider('refresh');
于 2013-04-11T12:41:59.327 回答