używam na suwaku logarytmicznym ten kod jQuery UI:jQuery UI Slider logarytmiczna skala
var minVal = 10; var maxVal = 100; $("#slider").slider({
range: true,
min: minVal,
max: maxVal/2,
values: [ minVal, maxVal ],
slide: function(event, ui) {
$("#amount_min").val(Number(expon(ui.values[ 0 ], minVal, maxVal)).toFixed(0));
$("#amount_max").val(Number(expon(ui.values[ 1 ], minVal, maxVal)).toFixed(0));
}
});
Funkcja expon brzmi:
function expon(val, min,max)
{
var minv = Math.log(min);
var maxv = Math.log(max);
max = max/2;
// calculate adjustment factor
var scale = (maxv-minv)/(max-min);
return Math.exp(minv + scale*(val-min));
}
And #amount_min i #amount_max html są elementy wejściowe. Powyższy kod działa dobrze, aby uzyskać wartości z suwaka i umieścić go w elementach wejściowych.
Ale teraz potrzebuję funkcji przeciwnej do funkcji expon() - aby zmienić suwak po zmianie wartości wejścia. Czy ktoś może mi w tym pomóc?
Czy kiedykolwiek to rozgryzłeś? – Homan
yep:) ... działa pod numerem –
możliwy duplikat [JQuery UI Slider z nieliniowymi/wykładniczymi/logarytmicznymi krokami] (http://stackoverflow.com/questions/7484695/jquery-ui-slider-with-non -liniowo-wykładniczo-logarytmiczne-kroki) – gaitat