2013-01-16 65 views
1

希望有人能在此闡明對我來說沒有踏...jQuery UI的滑塊與高MAX(長刻度)如預期

我有一個要求高的數字(例如0 - 600000)一個jQuery UI的滑塊。 將step選項設置爲1(默認設置)時,我看到滑塊返回的數字不是以1遞增/遞減(在0 - 600,000示例中,我得到的增量爲508)。

我感覺這是預期的行爲,但是,我需要理解爲什麼會發生這種情況(而且我不是一個數學家!),以便弄清楚如何讓它爲我的目的工作。

請任何人都可以幫我嗎? C.f. 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 
     } 
    }); 

非常感謝提前。

+0

我剛剛注意到,用0 - 100的比例,我*可以得到相同的東西 - 它似乎取決於我移動滑塊時的速度。所以......我覺得那裏有線索,但我仍然感到困惑,而我的大腦卻很痛苦 - 請幫助。 – soba3

回答

1

這實質上取決於你的滑塊的寬度。

當鼠標移動時,小部件會計算新鼠標位置與前一個鼠標位置之間距離的增量。這個距離不能小於一個像素。因此,如果滑塊的範圍擴展到600,000個單位,但該控件只有100個像素寬(例如),那麼將鼠標移動一個像素將導致600,000/100的增量,即6000個單位。

+0

非常感謝你的解釋。現在至少我知道發生了什麼事! – soba3