2017-12-18 216 views
2

我有一個jQuery UI的滑塊,我注意到,如果最大值和最小值之間的差異不是精確的倍數步驟選項滑塊不能正常工作。jQuery用戶界面滑塊步驟

例如: 分鐘:6900 最大:79900 步驟:1500

當我移動光標最大,最大可達值是78900((78900-6900)/ 15 = 48)時,下一將是80400.

我怎樣才能達到最大值(79900)?

感謝

+0

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

+0

正如在jQuery UI Slider API中所述,*滑塊(max - min)的完整指定值範圍應該可以被該步整除。*(請參閱http://api.jqueryui.com/slider/#option-step ) – beaver

回答

2

你可以在你的最大值設置步驟的倍數:

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

然後在幻燈片處理程序限制值,以原最大值:

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); 
} 

你的小提琴改編相應地:https://jsfiddle.net/beaver71/d8wvke7u/

+0

完美,它的工作原理。非常感謝 – Alfra