Jquery ui滑块具有高max(长刻度)不按预期步进

时间:2013-01-16 11:40:52

标签: jquery-ui jquery-plugins slider jquery-ui-slider

希望有人能为我揭示这一点......

我有一个jquery UI滑块,需要很高的数字(例如0到600,000)。 将step选项设置为1(默认设置),我看到滑块返回的数字不是递增/递减1(在0 - 600,000示例中,我得到508的增量)。

我觉得这是预期的行为,但是,我需要理解为什么会发生这种情况(而且我不是一个数学家!)以便弄清楚如何让它适合我的目的。

请有人帮帮我吗? C.F.下面的代码 - 我正在使用范围选项:

$( "#slider-range" ).slider({
        range: true,
        min: 0,
        max: 600000,
        values: [ 0, 600000 ],
        step:1,
        slide: function( event, ui ) {//Triggered on every mouse move during slide
            console.log(ui.values[ 0 ]+' and '+ui.values[ 1 ]);
            //$( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
            //ui.value : represents the value that the handle will have as a result of the current movement
        }
    });

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

这主要取决于滑块的宽度。

当鼠标移动时,小部件计算新鼠标位置与前一个鼠标位置之间距离的增量。该距离不能小于一个像素。

因此,如果滑块的范围扩展到600,000个单位,但窗口小部件只有100个像素宽(例如),那么将鼠标移动一个像素将导致增加600,000 / 100,即6,000个单位。