我使用對數滑塊這個jQuery UI代碼:Jquery的UI滑塊對數刻度
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));
}
});
的expon函數爲:
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));
}
而且#amount_min和#amount_max是HTML輸入元素。上面的代碼工作得很好,可以從滑塊獲取值並將其輸入到輸入元素。
但現在我需要與expon()相反的功能 - 當我更改輸入的值時更改滑塊。任何人都可以幫助我嗎?
你有沒有想出解決辦法? – Homan
是的:)...得到它的工作 –
可能重複的[非線性/指數/對數步驟的JQuery UI滑塊](http://stackoverflow.com/questions/7484695/jquery-ui-slider-with-non -linear-exponential-logarithmic-steps) – gaitat