1

我已经在我正在构建的网页上实现了jQuery 范围滑块,但似乎无法使其捕捉到特定的非均匀分布值。有谁知道 jQuery 滑块是否可以实现这一点,或者我是否可以使用另一种方法?

作为一个更具体的例子,假设我有一个从 0 到 100 的范围,并且我有一个像[0, 7, 32, 61, 67, 90, 100]. 我希望范围滑块只能选择数组中的值。

4

1 回答 1

4

您可以使用slide回调来限制允许的位置:

在滑动期间每次鼠标移动时触发。事件中提供的值 asui.value表示作为当前移动结果的句柄将具有的值。取消事件将阻止句柄移动,并且句柄将继续具有其先前的值。

所以你只需要这样的东西:

var allowed = { 0: true, 7: true, /*...*/ 100: true };
$("#slider").slider({
    //...
    slide: function(event, ui) {
        if(!allowed[ui.value])
            return false;
    }
});

您也可以使用数组来表示allowedreturn false何时allowed.indexOf(ui.value)为负数;我认为使用对象读起来更好。

演示:http: //jsfiddle.net/ambiguous/eRtBa/

于 2012-01-04T21:26:30.987 回答