1

我已经构建了一个滑块,可以用这个范围改变他的步长

  • 从 1 到 19 以 1 为步长
  • 从 20 到 100,以 10 为步长。

    //stepping from 1 to 20  in steps of 1
    if (ui.value < 20) {
        $(this).slider('option', 'step', 1);
    }
    
    //stepping from 20 to  100 in steps of 10
    if (ui.value >= 20 && ui.value <= 100) {
        $(this).slider('option', 'step', 10);
    }
    

然后我让用 ui.value 计算一些其他值

这是一个小提琴:http: //jsfiddle.net/Z5BYY/

但是当我在这个边界上滑动时,值的计算不正确并且滑动手柄会得到不需要的结果

  • 处理从 20 到 31 的跳跃,而不是 30 和 10 的乘数
  • 我对 20 的乘法结果是 42
  • 最大值设置为 100,但我可以滑动到 101

任何想法,我该如何解决这个问题?谢谢您的回答。

4

1 回答 1

0

你可以试试这个

//stepping from 1 to 20  in steps of 1
if (ui.value < 20) {
    $( this ).slider( "option", "min", 1 );
    $(this).slider('option', 'step', 1);
}

//stepping from 20 to  100 in steps of 10
if (ui.value >= 20 && ui.value <= 100) {
    $( this ).slider( "option", "min", 0 );
    $(this).slider('option', 'step', 10);
}

我认为它会起作用的!

于 2013-10-23T08:31:02.597 回答