Ползунок jquery изменяет значение шага в зависимости от используемого периферийного устройства управления
Код, чтобы вы могли видеть, с чем я работаю.
$("#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
Возможно ли это, было ли это сделано? Я искал такую функциональность ползунков, но уже пустую.
1 ответ
Решение
Быстрый ответ:
$(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
вариант, связывая обратный вызов с конкретными событиями.