我遇到了jQuery UI Slider的问题。
我有一个函数“Pricer()”和我给它的参数:
1)min_price,max_price - 区间范围(min_price ------------- max_price)
2)start_price,end_price - subintervalval(最小价格---- start_price -------- end_price ----- max_price)
代码:
function Pricer(min_price, max_price, start_price, end_price) {
$( "#slider_price" ).slider({
range: true,
min: min_price,
step:10,
max: max_price,
values: [start_price, end_price ],
slide: function( event, ui ) {
$('#price1').val(ui.values[0]);
$('#price2').val(ui.values[1]);
}
});
$('#price1').change(function () {
$('#slider_price').slider("values",0, $(this).val());
});
$('#price2').change( function() {
$('#slider_price').slider("values",1,$(this).val());
});
$('#price1').val($('#slider_price').slider("values",0));
$('#price2').val($('#slider_price').slider("values",1));
};
我按顺序调用此函数两次:
1)在document.ready事件上。 (Pricer(4,536,4,536);)
2)我应该为滑块设置新值。 (Pricer(4,536,11,12))
得到错误的间隔:
$('#slider_price').slider('values', 0)
和
$('#slider_price').slider('values', 1)
返回值'14'和'14'。
我调试它,发现它在我发送到slider()的对象中设置values属性时发生。
我没有在jQuery UI滑块中找到开放的错误报告。可能是我对jQuery UI滑块工作的误解?
答案 0 :(得分:1)
这与您将step
设置为10的事实有关。由于您的范围以4开头,因此下一个最接近11和12的值为14。
Slider Widget API doc关于步骤说明:
(步骤)确定滑块在最小值和最大值之间的每个间隔或步长的大小或数量。滑块的完整指定值范围(max - min)应该可以被步长整除。