jQuery UI 滑块步数

jQuery UI Slider Steps

我有一个 jquery UI 滑块,我注意到如果最大值和最小值之间的差异不是步长选项的精确倍数,则滑块无法正常工作。

例如: 最低:6900 最大值:79900 步骤:1500

当我移动最大光标时,最大可达值是78900((78900-6900)/15=48),下一个是80400。

如何才能达到最大值 (79900)?

谢谢

您可以将最大值设置为步长的倍数:

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

您的 fiddle 相应调整:https://jsfiddle.net/beaver71/d8wvke7u/