addEventListener добавления 1 при каждом щелчке

#javascript

Вопрос:

Я создал 2 кнопки и окно отображения. Я хочу, чтобы окна отображения могли добавить 1, если я нажму кнопку . Я хочу, чтобы окна отображения могли вычесть 1, если я нажму кнопку. Однако эта функция, похоже, не работает. Могу я узнать, в чем проблема моего кода:

 let addButton = document.getElementById('add');
let subtractButton = document.getElementById('subtract');
let humanGuess = document.getElementById('human-guess');

function addNum() {
  humanGuess.value =  humanGuess.value   1;
}

addButton.addEventListener('click', addNum)

function subtractNum() {
  humanGuess.value = -humanGuess.value - 1;
}

subtractButton.addEventListener('click', subtractNum) 
 <div class="number-controls">
  <input type="number" id="human-guess" min=0 max=9 value=0>
  <button class="number-control left" id="subtract">-</button>
  <button class="number-control right" id="add"> </button>
</div> 

Комментарии:

1. Это из-за -humanGuess.value - 1 . используется для преобразования его из a string в Number typt. Либо вы должны использовать humanGuess.value - 1 или parseInt(humanGuess.value) - 1 или Number(humanGuess.value) - 1

Ответ №1:

Вам нужно изменить первый минус на humanGuess.value = -humanGuess.value - 1; плюс. Используется для возврата числового представления числа, называемого унарным плюсом. Как у вас это изначально, это переворачивание числа с отрицательного на положительное или наоборот, а затем вычитание 1, т. е. Унарное отрицание.

 let addButton = document.getElementById('add');
let subtractButton = document.getElementById('subtract');
let humanGuess = document.getElementById('human-guess');

function addNum() {
  humanGuess.value =  humanGuess.value   1;
}

addButton.addEventListener('click', addNum)

function subtractNum() {
  humanGuess.value =  humanGuess.value - 1;
}

subtractButton.addEventListener('click', subtractNum) 
 <div class="number-controls">
  <input type="number" id="human-guess" min=0 max=9 value=0>
  <button class="number-control left" id="subtract">-</button>
  <button class="number-control right" id="add"> </button>
</div> 

Комментарии:

1. Замечательный. Огромное спасибо.