Почему эти часы html / javascript не будут работать?

#javascript #clock

#javascript #часы

Вопрос:

Моя проблема в том, что он регистрируется на консоли 2 раза. Я не мог понять, что было не так. Если бы он выполнял код как в частях if, так и else, он бы регистрировал часы 0 минуты, а затем обычное время. Он этого не делает, и он выполняет только то, что должен, 2 раза.

 function GtD() {
  var d = new Date();
  var hour = d.getHours();
  var minute = d.getMinutes();
  if (minute >= 0 amp;amp; minute <= 9) {
    console.log(hour   ":"   "0"   minute);
  } else {
    console.log(hour   ":"   minute);
  }
}  
 <button onclick="getElementById(GtD()), GtD()">
  Click to get the current time
</button>  

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

1. Вы вызываете GtD() дважды в своем onclick .

Ответ №1:

Просто потому, что вы дважды вызвали функцию

Давайте посмотрим на ваш HTML:

 <button onclick="getElementById(GtD()), GtD()">
  Click to get the current time
</button>
  

Более конкретно

 onclick="getElementById(GtD()), GtD()"
  

Вы вызываете getElementById в GtD() качестве аргумента. Это вызовет вашу GtD функцию один раз. Затем вы вызываете GtD() after getElementById . Поэтому, естественно, будет два журнала консоли. Это можно просто изменить на следующее

 function GtD() {
  var d = new Date();
  var hour = d.getHours();
  var minute = d.getMinutes();
  if (minute >= 0 amp;amp; minute <= 9) {
    console.log(hour   ":"   "0"   minute);
  } else {
    console.log(hour   ":"   minute);
  }
}  
 <button onclick="GtD()">
      Click to get the current time
    </button>  

Ответ №2:

Вы дважды выполняете функцию в своем элементе onclick.

Изменить на <button onclick="GtD()">

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

1. большое вам спасибо за всю вашу помощь. Я всегда думал, что вам обязательно нужно получить функцию из javascript, прежде чем вы сможете выполнить ее в html.

Ответ №3:

Вы вызвали это дважды.

В вашем onclick вы включили getElementByID(Gtd()) , что не имеет смысла, поскольку ваша функция GtD() не возвращает значение. Вам не нужно получать элемент по идентификатору. Вам нужно только войти в консоль.

Просто оставьте это:

 <button onclick="GtD()">
     Click to get the current time
</button>