我有一个问题,我希望步骤从1开始递增10到最大1000.
问题在于,如果值为1,则下一个值为11然后是21等。如何更改它以使其从1,10,20,30等变为1,因此第一步是9,然后是10然后。
有时价值也可以达到1001,我认为如果你快速下滑到最大值,它会停在1000,但如果你停在991,如果你采取最后一步,它将超过1000
<p>
<label for="amount">Maximum price:</label>
<input type="text" id="amount" style="border: 0; color: #f6931f; font-weight: bold;" />
</p>
<div id="slider-range-min"></div>
$("#slider-range-min").slider({
range: "min",
value: 1000,
min: 1,
step: 10,
max: 1000,
slide: function (event, ui) {
$("#amount").val("$" + ui.value);
}
});
$("#amount").val("$" + $("#slider-range-min").slider("value"));
答案 0 :(得分:3)
将范围从1-1000更改为0-1000并在滑动或停止时添加检查以查看值是否为零。如果是,请将其更改为1.
<强> jsFiddle example 强>
$("#slider-range-min").slider({
range: "min",
value: 500,
min: 0,
step: 10,
max: 1000,
slide: function (event, ui) {
$("#amount").val("$" + ui.value);
if (ui.value == 0) {
$("#slider-range-min").slider('value', 1);
$("#amount").val('$1');
}
},
stop: function (event, ui) {
if (ui.value == 0) {
$("#slider-range-min").slider('value', 1);
$("#amount").val('$1');
}
}
});
$("#amount").val("$" + $("#slider-range-min").slider("value"));