← Все вопросы

Как сделать счётчик кликов на кнопке? Число не увеличивается

Задан 25 месяцев назад1.1к просмотров2 ответа
6

Хочу, чтобы при каждом клике число росло: 1, 2, 3... А у меня всегда показывает 1. Код:

document.getElementById('btn').onclick = function() {
  let count = 0;
  count = count + 1;
  document.getElementById('out').textContent = count;
};

Где ошибка?

2 ответа

11
✓ Принятый ответ — помог автору

Проблема в том, что let count = 0 стоит внутри функции. Каждый клик функция запускается заново, переменная заново становится 0, прибавляется 1 → всегда 1.

Вынеси переменную наружу, чтобы она жила между кликами:

let count = 0;   // снаружи, объявляется один раз

document.getElementById('btn').onclick = function() {
  count = count + 1;   // или count++
  document.getElementById('out').textContent = count;
};

Теперь count не сбрасывается, и число растёт при каждом нажатии.

3

count = count + 1 можно сократить до count++ или count += 1 — делает то же самое. А count-- уменьшает. Удобно, например, для счётчика «осталось попыток».

Ваш ответ

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