jquery 滑块根据使用的控制外设更改步长值

jquery slider alter step value based on control peripheral used

代码以便您可以看到我正在使用什么。

$("#slider-markup").slider({
    orientation: "horizontal",
    range: "min",
    min: 0,
    max: 500,
    value: 0,
    step: 0.01,
    slide: function (event, ui) {
        $("#markupRate").text(ui.value);
        calcNow();
    }
});

好的,我知道如何步进增量,正如您在此处看到的,这是我正在使用的非常好的步进,但由于范围大,很难获得正确的值。

我也知道滑块可以与鼠标一起使用,激活后可以使用键盘箭头移动到下一步。

我想做的是将 鼠标 步长设置为 1,然后将 键盘 步长设置为 0.01

这可以吗,有做过吗?我一直在四处寻找滑块的这种功能,但一无所获。

快速回答:

$(function() {
  $("#slider-markup").slider({
    orientation: "horizontal",
    range: "min",
    min: 0,
    max: 500,
    value: 0,
    step: 0.01,
    slide: function(event, ui) {
      $("#markupRate").text(ui.value);
    }
  });
  $("#slider-markup .ui-slider-handle").mousedown(function() {
    $("#slider-markup").slider("option", "step", 1.0);
  }).mouseup(function() {
    $("#slider-markup").slider("option", "step", 0.1);
  });
});

工作示例:https://jsfiddle.net/Twisty/xkwq87j6/

您可以通过对特定事件进行回调来调整 step 选项。