#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>