2012-01-04 17 views
1

ビルドしているWebページにjQuery range sliderを実装しましたが、特定の非均一分散値にスナップすることはできないようです。 jQueryスライダでこれが可能かどうか、あるいは私が使用できる代替があるかどうかは誰にも分かりますか?任意のスナップポイントを持つ範囲スライダ

より具体的な例として、私は0から100の範囲を持ち、[0, 7, 32, 61, 67, 90, 100]のような配列を持っています。範囲スライダで配列内の値のみを選択できるようにします。

答えて

4

あなたは許さ位置を制限するためにslide callbackを使用することができます:スライドの間に、すべてのマウス移動でトリガ

。イベントでui.valueと指定された値は、現在の動きの結果ハンドルが持つ値を表します。イベントをキャンセルすると、ハンドルが移動しないようになり、ハンドルは以前の値を保持し続けます。

だから、あなたはちょうどこのような何か必要があると思います:あなたはまた、allowedreturn falseallowed.indexOf(ui.value)が負であるため、配列を使用することができます

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

を。私はオブジェクトを使用する方が良いと思う。

デモ:http://jsfiddle.net/ambiguous/eRtBa/

関連する問題