我想知道是否有人知道我做错了什么。也许根本不可能。
<script>
var daynight = document.querySelector('header');
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
if (hours >= 6 && hours < 14){
console.log(avond);
daynight.classList.add('nacht');
}
if(hours < 6 || hours >= 14){
console.log(dag);
daynight.classList.remove('nacht');
}
</script>
非常感谢提前
答案 0 :(得分:0)
avond
和dag
是否定义了变量?如果不是,你需要在它们周围添加引号。如果问题仍然存在,请告诉我们控制台窗口是否有任何错误。
至于第二个if:你肯定应该在那里使用else
或第二个条件,因为如果top也被执行,那么将始终执行此代码(如果hours >= 14
评估{{1} } true
也是如此,它应该是hours >=6
和hours >= 6 && hours < 14
。
答案 1 :(得分:0)
我认为你已经宣布了这样的声音。和&#39; dag&#39;在您发布的代码段之外。
var daynight = document.querySelector('header');
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
if (hours >= 14){
//Add night logic here
}
else if(hours >= 6){ //Important to add 'ELSE' here to prevent it from always firing when first condition is met (like Mathletics said in comment)
console.log(dag);
daynight.classList.remove('nacht');
}
答案 2 :(得分:0)
jsFiddle查看此答案
var daynight = document.querySelector('header');
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
if (hours < 6 || hours >= 14){
console.log('night');
daynight.classList.add('nacht');
}
if(hours >= 6 && hours < 14){
console.log('day');
daynight.classList.remove('nacht');
}