Как при нажатии на кнопки +/- значение менялось на 1, потом на 2, на 4, и т.д?

Кнопка увеличивает и уменьшает на 1, мне нужно, чтобы значения кнопки менялись от 1 до 64 в таком порядке: 1, 2, 4, 6, 8, 10, 12, 16, 20, 24, 32, 48, 56, 64. То есть простое умножение на 2 не поможет, напишите, пожалуйста, как это реализовать?

<button type="button" class="cpu_min">-</button>
    <input type="number" min="1" max="64" step="0" class="cpu_res" value="1">
    <button type="button" class="cpu_plus">+</button>

<script>
    $(".cpu_min").on("click", function() {
      var $input = $(this).parent().find(".cpu_res");
      var count = parseInt($input.val()) - 1;
      count = count < 1 ? 1 : count;
      $input.val(count);
      $input.change();
      return false;
    });
    $(".cpu_plus").on("click", function() {
      var $input = $(this).parent().find(".cpu_res");
      $input.val(parseInt($input.val()) + 1);
      $input.change();
      return false;
    });

</script>
  • Вопрос задан
  • 237 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
<button data-step="-1">-</button>
<input value="1">
<button data-step="+1">+</button>

const values = [ 1, 2, 4, 6, 8, 10, 12, 16, 20, 24, 32, 48, 56, 64 ];

$('button').click(function(e) {
  $('input').val(function(i, v) {
    const index = +e.target.dataset.step + values.indexOf(+v);
    return values[Math.max(0, Math.min(values.length - 1, index))];
  });
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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