我已经在我正在构建的网页上实现了jQuery 范围滑块,但似乎无法使其捕捉到特定的非均匀分布值。有谁知道 jQuery 滑块是否可以实现这一点,或者我是否可以使用另一种方法?
作为一个更具体的例子,假设我有一个从 0 到 100 的范围,并且我有一个像[0, 7, 32, 61, 67, 90, 100]
. 我希望范围滑块只能选择数组中的值。
我已经在我正在构建的网页上实现了jQuery 范围滑块,但似乎无法使其捕捉到特定的非均匀分布值。有谁知道 jQuery 滑块是否可以实现这一点,或者我是否可以使用另一种方法?
作为一个更具体的例子,假设我有一个从 0 到 100 的范围,并且我有一个像[0, 7, 32, 61, 67, 90, 100]
. 我希望范围滑块只能选择数组中的值。
您可以使用slide
回调来限制允许的位置:
在滑动期间每次鼠标移动时触发。事件中提供的值 as
ui.value
表示作为当前移动结果的句柄将具有的值。取消事件将阻止句柄移动,并且句柄将继续具有其先前的值。
所以你只需要这样的东西:
var allowed = { 0: true, 7: true, /*...*/ 100: true };
$("#slider").slider({
//...
slide: function(event, ui) {
if(!allowed[ui.value])
return false;
}
});
您也可以使用数组来表示allowed
和return false
何时allowed.indexOf(ui.value)
为负数;我认为使用对象读起来更好。
演示:http: //jsfiddle.net/ambiguous/eRtBa/