Доброе утро.Javascript Salute Show
Пожалуйста, я хочу показать приветственное сообщение в зависимости от часов. Пробовал эту функцию автоинициализации, он работает, но независимо от времени, он показывает: «Спокойной ночи». Что я делаю неправильно? Может ли кто-нибудь помочь?
Вот код:
(function(){
function saluteText() {
var d = new Date();
var time = d.getHours();
var divInnerHTML = document.querySelector('.name');
if (time < 12) {
function addInnerHTML() {
divInnerHTML.innerHTML = 'Good morning!';
}
}
else if (time >=12 && time <18) {
function addInnerHTML() {
divInnerHTML.innerHTML = 'Good evening!';
}
}
else if (time >= 18 && time < 24) {
function addInnerHTML() {
divInnerHTML.innerHTML = 'Good night!';
}
}
addInnerHTML();
}
saluteText()
})();
Почему у вас есть такие 'addInnerHTML()' функции? Почему бы просто не установить innerHTML непосредственно в каждом случае if/else? Если вы хотите условно определить функцию, вам нужно объявить 'var addInnerHTML;' перед блоком if/else, а затем установить 'addInnerHTML = function() {...}' в if/else. – nnnnnn