我使用以下 JavaScript 根据网站访问者访问的时间向他们动态显示消息。
var myDate = new Date();
/* hour is before noon */
if ( myDate.getHours() < 12 )
{
document.write("Good morning");
}
else /* Hour is from noon to 5pm (actually to 5:59 pm) */
if ( myDate.getHours() >= 12 && myDate.getHours() <= 17 )
{
document.write("Good afternoon");
}
else /* the hour is after 5pm, so it is between 6pm and 2am */
if ( myDate.getHours() > 17 && myDate.getHours() <= 2 )
{
document.write("Good evening");
}
else /* the hour is not between 0 and 24, so something is wrong */
{
document.write("Hello");
}
这是我在本网站上其他人的问题的答案中找到的脚本。它运行良好,但几周后,它不再显示“晚上好”消息。因此,“早上好”和“下午好”正常工作,但是当应该显示“晚上好”消息时,它只显示“Hello”,表明脚本有问题。我尝试重写它并更改时间,但总是遇到相同的错误。
有人知道是什么原因导致这个问题吗?谢谢!
最佳答案
您的问题是没有 getHours()
的结果将满足您的 if 条件。换句话说,getHours()
没有值(value)。可以是> 17
和<= 2
.
尝试改为使用 or ( ||
) 来满足您的评论要求:
if ( myDate.getHours() > 17 || myDate.getHours() <= 2 )
关于Javascript .getHours() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37296940/