2017-12-18 14 views
2

jqueryのUIスライダがあり、最大値と最小値の差が正確に複数のステップオプションでない場合、スライダが正しく機能しないことに気付きました。例えばjQuery UIスライダの手順

: 分:6900 最大:79900 ステップ:

Iが最大カーソルを移動1500は、最大到達値は78900(= 48(78900から6900)/ 15)であり、次

どのようにして最大値(79900)を達成できますか?

おかげ

+0

https://jsfiddle.net/4L0vtLd8/3/ – Alfra

+0

jQuery UI Slider APIで説明したように、スライダの最大値の範囲(max - min)は、ステップで割り切れる必要があります(http://api.jqueryui.com/slider/#option-stepを参照)。 ) – beaver

答えて

2

あなたはステップの倍数にあなたの最大値を設定できます

slide: function(event, ui) { 
    var v1 = Math.min(ui.values[0], max); 
    var v2 = Math.min(ui.values[1], max); 
    $("#slider-price").slider("values", 0, v1); 
    $("#slider-price").slider("values", 1, v2); 
    $("#amount").val("$" + v1 + " - $" + v2); 
} 

あなたのフィドルが適応:

var range = Math.floor((max - min)/step) + 1; 
    var max_calc = min + range * step; 

は、スライドハンドラで、元の最大値に値を制限しますそれに応じて:https://jsfiddle.net/beaver71/d8wvke7u/

+0

完璧です、それは動作します。どうもありがとう – Alfra

関連する問題