@RushV

Как правильно написать условие?

Здравствуйте!
Я только учу JS хотел написать код типа секундомер после 10 секунд появлялось сообщение. Как правильно написать код где у меня ошибка в коде?
function timer() {
			var s = Number(document.getElementById("timer").innerHTML);
			s++;
			document.getElementById("timer").innerHTML = s;
			if (s < 10)setTimeout("timer()", 1000);
			else document.write("12");
			
		}
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Если надо производить какое-то действие каждую секунду, то правильней использовать setInterval:
function startTimer(secs) {
  var i = 0;
  var timer = document.getElementById('timer');

  var interval = setInterval(function() {
    if (++i >= secs) {
      clearInterval(interval);
      timer.innerHTML = 'Done!';
    } else {
      ++timer.innerHTML;
    }
  }, 1000);
}

startTimer(10);
Демо.

Если действие каждую секунду производить не надо, то таймаут рациональней задать один на всю длительность:
function startTimer(secs) {
  var timer = document.getElementById('timer');
  setTimeout(function() {
      timer.innerHTML = 'Done!';
  }, secs * 1000);
}

startTimer(10);
Демо.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
TerNik
@TerNik
Вы не правильно используете setTimeout
Посмотрите, что должно передаваться в параметры, и что у вас.
Ответ написан
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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