Задать вопрос
arteqrt
@arteqrt
Почти не начинающий програмист

Почему код не работает?

Код должен генерировать случайное число и пользователь должен его угадать, если введено число больше, должно выводить, что число больше чем нужно и т д.
Почему то выводит одно и тоже, при этом код останавливается после первой попытки угадать число.
var input = document.getElementById('input').value;
input = parseInt(input);
var number;

var res = document.getElementById('result');

f1();

function f1() {
	number = Math.ceil( Math.random() * 100);
	console.log(number);
};

document.getElementById('button').onclick = function() {
	if (input == number) {
		res.innerHTML = 'Вы угадали!';
	}
	else if (input > number) {
		res.innerHTML = 'Вы не угадали! Число меньше';
	}
	else {
		res.innerHTML = 'Вы не угадали! Число больше';
	}
}

<body>
	<p>Угадай число <input type="text" id="input"> <button id="button">Угадать!</button></p>
	<p id="result"></p>
</body>
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Lynatik001 К ответам на вопрос (2)
@Lynatik001
ну потому что как минимум, ты только 1 раз за всю жизнь скрипта вызиваешь f1();
- помести его в onclick что у тебя реализован
Да и желательно, что то возращать из єтой функции... - где return. а соре не заметил что у тебя обявление переменной непонятно где обявленно))

вот рабочее. вы значение поля брали когда оно пустым было
var number;

var res = document.getElementById('result');

f1();

function f1() {
  number = Math.ceil( Math.random() * 100);
  console.log(number);
  
};

document.getElementById('button').onclick = function() {
  var input = document.getElementById('input').value;
input = parseInt(input);
  console.log(input);
  console.log('asd')
  if (input == number) {
    res.innerHTML = 'Вы угадали!';
  }
  else if (input > number) {
    res.innerHTML = 'Вы не угадали! Число меньше';
  }
  else {
    res.innerHTML = 'Вы не угадали! Число больше';
  }
}
Ответ написан