如何使jQuery UI滑块捕捉到预定义的值?

我在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中捕捉到我的值?

为什么不这样做:

 $(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]]); } }); }); 

我想这就是你想要的,试试下面的代码:

 
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; } });