範囲の値を持つnoUiSliderを作成しようとしていますが、スライダにスケールがあり、設定されたステップ値で移動します。noUiSliderは、スライダの半分の「ステップ」値だけを尊重するのはなぜですか?
ドキュメントのページでexampleを使用して、これを設定して、-500〜20,000の範囲のスライダーを表示することができました。
ただし、step
は、定義された50%のマーク(数学的な50%のマークではありません)までしか動作しません。その右側のすべて(この場合は5000〜20,000)はステップによって増加しません。代わりに、それは分数によって増加する。
var slider = document.getElementById('slider');
var low = document.getElementById('low');
var high = document.getElementById('high');
var range_all_sliders = {
'min': [-500],
'50%': [5000],
'max': [20000]
};
noUiSlider.create(slider, {
start: [-500, 20000],
step: 500,
connect: true,
range: range_all_sliders,
pips: {
mode: 'range',
density: 8
}
});
slider.noUiSlider.on('update', function(values, handle) {
low.value = values[0];
high.value = values[1];
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/8.5.1/nouislider.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/8.5.1/nouislider.min.js"></script>
<div id="slider"></div>
<br/>
<br/>
<input type="text" id="low" placeholder="Min" value="Min" />
<input type="text" id="high" placeholder="Max" value="Max" />
二つのハンドルをスライドさせます。ローエンド(-500から開始)は、5000に達するまで500だけ増加し、次に500ステップの値を20,000に無視します。ハイエンドで開始すると、ステップ値に関係なく5000に達するまで減少し、その後-500に達するまで500で減少します。
step
の値をスライダ全体で有効にするにはどうすればよいですか?