我试图有一个程序,显示一组特定的文本取决于它是什么时间。不管我怎么做,它只会显示最后一行,而不会显示其他任何一行。
我只是想要一个简单的解决方案。我所做的可能是不正确的,但我已经尽了最大的努力。这是我目前为止写的;function I() {
setTimeout(M, 1)
document.getElementById("time").innerHTML = Date()
}
function M() {
setTimeout(I, 1);
var first = "8:00:00";
if (Date() > first) {
document.getElementByTag("p").innerHTML = "Hello!"
您正在将Date
对象与字符串进行比较,您需要将其与另一个数据对象进行比较,下面的代码片段应该如预期的那样工作。
您可以在这里了解更多关于数据对象的信息https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
function updateText() {
var currentTime = new Date();
var first = new Date(currentTime.getFullYear(), currentTime.getMonth(), currentTime.getDate(), 8, 0, 0);
var targetElement = document.getElementById("time");
if (currentTime > first) {
targetElement.innerHTML = "Hello!";
} else {
targetElement.innerHTML = "Not time yet!";
}
setTimeout(updateText, 1000);
}
updateText();
<p id="time"></p>