В вашем коде JavaScript есть синтаксическая ошибка. Если вы удалите. в день.(); это должно работать.
Обновление: я завернул образец кода фрагментом кода, чтобы вы могли сами его запустить. Если ваш код не работает, то вы можете проверить, обращаетесь ли вы к странице напрямую через файловую систему в вашем браузере, или она находится на сервере типа http://example.com/sample-page.html или http://localhost/sample-page.html
Иногда JavaScript может быть ограничен, если он не приходит с сервера. Или, возможно, вы не обновили кеш вашего браузера перед повторным тестированием. Это может привести к тому, что JavaScript не будет загружен, если он не встроен непосредственно в HTML-код той же страницы, а связан с внешним файлом .js.
var clickState = 0;
document.getElementById("btnTimeDate").onclick = function(){
if (clickState == 0) {
document.getElementById("timeDate").innerHTML = Date();
clickState = 1;
} else {
document.getElementById("timeDate").innerHTML = "";
clickState = 0;
}
}
<button id="btnTimeDate">Get Date</button>
<div id="timeDate"></div>
Примечание: я заметил небольшую синтаксическую ошибку в первой строке JavaScript выше. Функции следует вызывать с добавлением () после их имен, однако они работали без них, когда я также включил инструмент сниппета. Но на всякий случай я исправил эту ошибку. Извините, что пропустил это раньше. Этот блок кода мог также сразу же сработать, не дожидаясь события click, поэтому я отредактировал его таким образом, чтобы полностью инкапсулировать код внутри функции события onclick, прикрепленной к идентификатору элемента DOM. Так что теперь это должно работать независимо.
Другим решением может быть включение этой функции при нажатии кнопки даже в пределах HTML, например:
var clickState = 0;
function displayDate() {
if (clickState == 0) {
document.getElementById("timeDate").innerHTML = Date();
clickState = 1;
} else {
document.getElementById("timeDate").innerHTML = "";
clickState = 0;
}
}
<button id="btnTimeDate" onclick="displayDate()">Get Date</button>
<div id="timeDate"></div>
Все это должно работать. Однако значение даты будет меняться при каждом запуске этой функции. Поэтому я бы порекомендовал вам получить дату загрузки страницы и просто скрыть и показать этот элемент вместе с событием кнопки, чтобы значение не изменилось. Поэтому я добавляю дополнительный фрагмент кода ниже, который делает именно это:
var dateDiv = document.getElementById("timeDate");
dateDiv.innerHTML = Date();
dateDiv.style.visibility = 'hidden';
document.getElementById("btnTimeDate").onclick = function(){
if (dateDiv.style.visibility == 'hidden') {
dateDiv.style.visibility = 'visible';
} else {
dateDiv.style.visibility = 'hidden';
}
}
<button id="btnTimeDate">Show/Hide Date</button>
<div id="timeDate"></div>