使用Javascript根据时间更改文本



现在我正在span#time中拉入当前时间,并希望根据时间将自定义消息添加到#officehours中,但我很难让它们彼此很好地发挥作用。

//Timestamp
function getTimeCurrentTime() {
let time = new Date();
return time.toLocaleString('en-US').split(',')[1];
}
function updateCurrentTime() {
let timeNode = document.getElementById('time');
timeNode.innerHTML = getTimeCurrentTime();
}
setInterval(updateCurrentTime, 1000);
function officeHours() {
var myDate = new Date();
var hrs = myDate.getHours();
var greet;
if (hrs < 12)
greet = 'Good Morning';
else if (hrs >= 12 && hrs <= 17)
greet = 'Good Afternoon';
else if (hrs >= 17 && hrs <= 24)
greet = 'Good Evening';
document.getElementById('officehours').innerHTML = greet;
}
<div class="timecontainer">
<span>Office Hours:</span><br>
<span>M-F, 9:00-5:00</span><br>
<span>Currently:</span><span id="time"></span><br>
<span>We Are:</span><span id="officehours"></span>
</div>

调用函数

你已经定义了一个叫做updateCurrentTime的函数:

function updateCurrentTime() {
//...
}

每隔1秒调用一次:

setInterval(updateCurrentTime, 1000);

还定义了一个名为officeHours的函数:

function officeHours() {
//...
}

但是你从来不叫它。为了执行一个函数,你必须调用它。假定在这种情况下,目的是从updateCurrentTime函数调用它。例如:

function updateCurrentTime() {
let timeNode = document.getElementById('time');
timeNode.innerHTML = getTimeCurrentTime();
officeHours();
}

最新更新