2017-12-18 176 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