我在jQuery UI中有一个滑块,我有一些用户可以选择的预定义值。但是,现在,它只是从1-60开始,而不是使用我的值。我有以下数字: 1,3,5,15,30,60
这是我的代码:
$(document).ready(function(){
var valMap = [1,3,5,15,30,60];
$("#resolution-slider").slider({
min: 1,
max: 60,
values: [2],
slide: function(event, ui) {
$("#resolution").val(ui.values[0]);
$(".resolution-preview").html(ui.values[0]);
}
});
});
如何使滑块在valMap中捕捉到我的值?
答案 0 :(得分:10)
为什么不这样做:
$(document).ready(function(){
var valMap = [1,3,5,15,30,60];
$("#resolution-slider").slider({
max: valMap.length - 1, // Set "max" attribute to array length
min: 0,
values: [2],
slide: function(event, ui) {
$("#resolution").val(valMap[ui.values[0]]); // Fetch selected value from array
$(".resolution-preview").html(valMap[ui.values[0]]);
}
});
});
答案 1 :(得分:2)
我认为这就是你想要的,试试下面的代码:
<div id="slide"></div>
var valMap = [1,3,5,15,30,60];
$("#slide").slider({
max: 60,
min: 1,
stop: function(event, ui) {
console.log(ui.value);
},
slide: function(event, ui) {
// 1,3,5,15,30,60
return $.inArray(ui.value, valMap) != -1;
}
});