我是JavaScript和JQuery的新手,我试图用JQuery UI滑块替换价格范围下拉框(一个用于最低价格,另一个用于最高价格)我的网站之一。具有非线性/指数/对数步骤的JQuery UI滑块
这里是我当前的代码:
$(function() {
var slider = $("#slider-range").slider({
range: true,
min: 0,
max: 2500000,
step: 1000,
values: [ 0, 2500000 ],
slide: function(event, ui) {
$("#amount").val("RM " + commafy(ui.values[ 0 ]) + " to RM " + commafy(ui.values[ 1 ]));
}
});
$("#amount").val("RM " + commafy($("#slider-range").slider("values", 0)) +
" to RM " + commafy($("#slider-range").slider("values", 1)));
function commafy(val) {
return String(val).split("").reverse().join("")
.replace(/(.{3}\B)/g, "$1,")
.split("").reverse().join("");
}
});
价格范围是从0到250万辆。经过测试,我发现如果滑块非线性缩放,UX会更好,因为我网站上的大多数用户都会在25,000到200,000范围内进行搜索。
滑块的非常微小的部分应该显示0到25000的范围,其中70%显示25,000到200,000,而其余显示200,000或更高。我不希望它捕捉到固定值,但步骤必须是1000
我发现在这个网站两种解决方法:)
< - 该解决方案是不是基于使用jQuery UI滑块,所以我真的不知道如何应用到我的代码。
2)JQuery Slider, how to make "step" size change < - 在家伙开始使用真值和值作为解决方案的一部分后,我无法做出正面或反面的反应。我尝试应用我的代码,滑块工作正常(虽然移动到最后我的口味太快),但文字没有显示。
任何想法?