jquery slider с нелинейными значениями (не в определенной серии)

#jquery

#jquery

Вопрос:

Да, это нормально. Но пример, который вы показываете, предназначен для фиксированных инкрементных значений. Но я ищу нелинейные значения, например, {13,18,27,56,100}

Ответ №1:

Вы можете использовать логарифмическую шкалу.

Предположим, что maxValue это ваше максимально допустимое значение. Затем вы можете определить метод myLog(x) следующим образом:

 var maxValue = 350;

function myLog(x) {
    return roundNumber( Math.pow(maxValue   1,(x/100)) - 1, 2);

}

function roundNumber(num, dec) {
    return Math.round( num * Math.pow(10,dec)) / Math.pow(10,dec);
}
  

Затем вы можете просто преобразовать значения слайдера по умолчанию в логарифмические:

 var outputString = "€"   myLog(  $( "#slider-range" ).slider( "values", 0 ) )   " - €"   myLog( $( "#slider-range" ).slider( "values", 1 )) ;

$( "#amount" ).val(outputString);