我已经在我正在构建的网页上实现了jQuery range slider,但似乎不可能使它捕捉到特定的非均匀分布的值。有没有人知道使用jQuery滑块是否可以做到这一点,或者是否有其他我可以使用的滑块?
作为一个更具体的例子,假设我有一个从0到100的范围,并且我有一个像[0, 7, 32, 61, 67, 90, 100]
这样的数组。我希望范围滑块只能选择数组中的值。
发布于 2012-01-05 05:26:31
您可以使用slide
callback来限制允许的位置:
在滑动过程中,每次移动鼠标都会触发
。事件中提供的
ui.value
形式的值表示句柄作为当前移动的结果将具有的值。取消事件将阻止句柄移动,并且句柄将继续保持其先前的值。
所以你只需要像这样的东西:
var allowed = { 0: true, 7: true, /*...*/ 100: true };
$("#slider").slider({
//...
slide: function(event, ui) {
if(!allowed[ui.value])
return false;
}
});
当allowed.indexOf(ui.value)
为负值时,您也可以对allowed
和return false
使用数组;我认为使用对象读起来更好。
演示:http://jsfiddle.net/ambiguous/eRtBa/
https://stackoverflow.com/questions/8729009
复制相似问题