← Все вопросы
Как сделать счётчик кликов на кнопке? Число не увеличивается
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-- уменьшает. Удобно, например, для счётчика «осталось попыток».
Ваш ответ
Войдите, чтобы ответить на вопрос.