Столкнулся с такой проблемой нужно сделать слайдер с шагом 60, но первый шаг должен быть 30 (т.е. 30 60 120 180… ), вот как я это делаю:
$('#id').slider({<br>
min: 30,<br>
max: 720,<br>
value: 30,<br>
step: 30,<br>
change: function (event, ui) {<br>
console.log('change1 '+$(this).slider("value")+' step'+$(this).slider('option', 'step'))<br>
if ( $(this).slider("value") > 60 ) {<br>
newStep = 60<br>
$(this).slider('option', 'step', newStep);<br>
//slider_step = newStep<br>
}<br>
console.log('change2 '+$(this).slider("value")+' step'+$(this).slider('option', 'step'))<br>
}<br>
})
после того как мы меняем параметр step на 60 value становится 90, при последующих изменениях слайдер ведет себя как и ожидается 90 > 150 210 270… изменяю значения слайдера простой кнопкой:
$('#btn').click(function(e){<br>
var step = $('#id').slider('option','step'),<br>
value = $('#id').slider('value')<br>
$('#id').slider('value', value+step)<br>
}
Я в замешательстве и не могу понять почему так происходит?
console.log():
step=60
change1 60 step30<br>
change2 90 step60
step=61
change1 60 step30<br>
change2 30 step61
step=59
change1 60 step30<br>
change2 89 step59
step=29
change1 60 step30<br>
change2 59 step29