1
가능한 중복 :
내 UI 슬라이더에 대한 비선형 단위를 사용하고
jQuery UI Slider - max value (not end of slider)JQuery와 UI 슬라이더 - 증가하는 단계하지 않는다/무시
:
$(function() {
var trueValues = [5, 10, 20, 50, 100, 150, 165];
var values = [10, 20, 30, 40, 60, 90, 100];
var slider = $("#parkSlider").slider({
orientation: 'horizontal',
range: "min",
value: 40,
slide: function(event, ui) {
var includeLeft = event.keyCode != $.ui.keyCode.RIGHT;
var includeRight = event.keyCode != $.ui.keyCode.LEFT;
var value = findNearest(includeLeft, includeRight, ui.value);
slider.slider('value', value);
$("#amount").val(getRealValue(value));
return false;
},
});
function findNearest(includeLeft, includeRight, value) {
var nearest = null;
var diff = null;
for (var i = 0; i < values.length; i++) {
if ((includeLeft && values[i] <= value) || (includeRight && values[i] >= value)) {
var newDiff = Math.abs(value - values[i]);
if (diff == null || newDiff < diff) {
nearest = values[i];
diff = newDiff;
}
}
}
return nearest;
}
function getRealValue(sliderValue) {
for (var i = 0; i < values.length; i++) {
if (values[i] >= sliderValue) {
return trueValues[i];
}
}
return 0;
}
});
나는 165의 값을 무시하고, 그 증가분을 따라 가기를 원하지 않는다. 그래서 150은 150이 아니라 150까지만 가능하다. 슬라이더의 최대 값
그래픽 더 설명 할 수있다 : I 슬라이더 핸들의 위치가 150 값을 중지하고 (165) 값을 밟지 할
. (나는 슬라이더의 최대를 설정할 수 있습니다 알고 있지만, 슬라이더 핸들이 다음 150 눈금을지나 확장으로 이것은 잘못된 동작입니다) 당신의 슬라이더 옵션에서
접근에 대한 때문에 이 대답은 다소 다릅니다 – Jason
내 대답은 다른 질문에 대한 내 답변과 정확히 동일합니다 (현재 업데이트되었습니다). –