Как установить значение слайдера динамически?

Есть код



$( "#slider-range-max" ).slider({<br>
      range: "max",<br>
      min: 1,<br>
<br>
      max:61,<br>
 <br>
      value: 1,<br>
      step: 1,<br>
      slide: function( event, ui ) {<br>
          <br>
        var val = ui.value;<br>
         <br>
        if(val > 10){<br>
           <br>
         ui.value = ui.value + 3;<br>
          <br>
<br>
          $( "#amount" ).val(ui.value);<br>
         <br>
          <br>
           <br>
      //   $(this).slider('option','max',500);<br>
       <br>
         <br>
    }<br>
     else {  $( "#amount" ).val( ui.value); <br>
    }




Вывод в текстовое поле получается вида 9, 10, 13, 14, 15. ЧЯДНТ?



Причем если заменить ui.value = ui.value + 3; на ui.value = ui.value * ui.value; вывод получается следующим 9, 121, 144, 169, 196…
  • Вопрос задан
  • 4506 просмотров
Решения вопроса 1
@Fantyk
web developer
Тогда
          var valueShow;
          if(ui.value>10){
              valueShow=10 + (ui.value-10)*3 ;
          }else{
              valueShow=ui.value;
          }
          $( "#amount" ).val(valueShow);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@fuzz1on Автор вопроса
нужен вывод вида 9, 10, 13, 16, 19, 22
Ответ написан
dpigo
@dpigo
Front-end developer
$(function() {
    $( "#slider-range-max" ).slider({
      range: "max",
      min: 1,
      max: 61,
      value: 1,
      slide: function( event, ui ) {
          if( ui.value >= 10) {
              $( this ).slider( "option", "step", 3 );
          }
          else {
              $( this ).slider( "option", "step", 1 );  
          }
          $( "#amount" ).val( ui.value );
      }
    });
    $( "#amount" ).val( $( "#slider-range-max" ).slider( "value" ) );
  });


jsfiddle.net/Mrfun/3/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы