@nen0y

Как сделать range slider который будет изменяться по клику на кнопку?

При нажатии на кнопку + / - , значение в input должно увеличиваться / уменьшаться на 50. При этом handler на range, должен реагировать на эти изменения. Как это сделать?

https://codepen.io/5dc8b3/pen/yLaMPXM
  • Вопрос задан
  • 309 просмотров
Решения вопроса 2
DanArst
@DanArst Куратор тега JavaScript
Гриффиндор в моде при любой погоде!
Можно проще сделать. Я просто в лоб пошел
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
const interval = [ 0, 150 ];

const $slider = $('#storlekslider').slider({
  range: 'max',
  min: interval[0],
  max: interval[1],
  step: 1,
  slide: (e, ui) => update(ui.value),
});

const $input = $('#storlek_testet').on('input', e => update(e.target.value));

$('button').click(e => update(+$input.val() + 50 * ($(e.target).text() === '+' ? 1 : -1)));


function update(val) {
  val = Math.max(interval[0], Math.min(interval[1], val));
  $input.val(val);
  $slider.slider('value', val).find('.ui-slider-handle').text(val);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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