Вы близки, но если вы хотите нацелиться только на изменение фона в своем разделе, то вам нужно немного изменить селекторы CSS. В то время как вы МОЖЕТЕ иметь классы «дневной» и «ночной», проще иметь стандартную, а затем переопределенную тему «ночной».
Поскольку вы уже используете $(document).ready
, я ' Я предполагаю, что вы включили jQuery, поэтому я изменил вашу функцию, чтобы воспользоваться этим и сохранить все дополнительные классы, которые могли уже присутствовать в теле.
$(document).ready(function() {
$('body').toggleClass('night',IsNight());
setInterval(function(){
$('body').toggleClass('night',IsNight());
},60000);
});
function IsNight()
{
var d = new Date();
var n = d.getHours();
return (n >= 18 || n < 6);
}
#home-section {
background-image: url("./css/images/daymode.jpg");
background-size: cover;
}
.night #home-section {
background-image: url("./css/images/nightmode.jpg");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<section class="home-section section-hero overlay slanted" id="home-section">blah</section>
Это то же самое, слегка измененное, чтобы вам не приходилось ждать день / ночь. Вместо этого он меняется каждую секунду и использует цвет вместо background-iamge.
$(document).ready(function() {
setInterval(function(){
$('body').toggleClass('night');
},1000);
});
#home-section {
background-image: url("./css/images/daymode.jpg");
background-size: cover;
color: yellow;
}
.night #home-section {
background-image: url("./css/images/nightmode.jpg");
color: black;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<section class="home-section section-hero overlay slanted" id="home-section">blah</section>