Javascript 更改<;的背景图像;车身>;(CSS)取决于季节(当前日历月)
我想根据日期更改HTML背景,但我编写的内容无法正常工作。我找不到任何适用的例子,我正在努力完成它 我只想在新的一季开始时,通过改变CSS文件中使用的图像来改变HTML页面的背景 JavaScript:Javascript 更改<;的背景图像;车身>;(CSS)取决于季节(当前日历月),javascript,html,css,comparison-operators,Javascript,Html,Css,Comparison Operators,我想根据日期更改HTML背景,但我编写的内容无法正常工作。我找不到任何适用的例子,我正在努力完成它 我只想在新的一季开始时,通过改变CSS文件中使用的图像来改变HTML页面的背景 JavaScript: var d = new Date(); var Day = d.getDate(); var Month = d.getMonth(); if (Month == <3 && Month == 5) { document.background-image: url(
var d = new Date();
var Day = d.getDate();
var Month = d.getMonth();
if (Month == <3 && Month == 5) {
document.background-image: url("springTree.jpg");
} else if (Month == < 6 && Month == > 8) {
document.background-image: url("summerTree.jpg");
} else if (Month == < 9 && Month == > 11) {
document.background-image: url("autumnTree.jpg");
} else (Month == 12 && Month == > 2) {
document.background-image: url("winterTree.jpg");
div.body {
background-image: url("summertree.jpg");
width: 640px;
height: 1136px;
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
background-size: cover;
}
我不确定是否可以用JQuery实现这一点,但我愿意尝试任何东西
正如你所看到的,我显然不知道我在做什么,我需要一些帮助,谢谢。首先,你应该看看如何在JS中进行比较。该网站有一个很好的运营商名单,以及他们的工作:
if(Month==<3)
应该是if(Month试试下面的代码
var d = new Date();
var Day = d.getDate();
// Below function returs 0 to 11. So we have added +1
var Month = d.getMonth() + 1;
// January, February, December
if (Month == 12 || Month <= 2) {
document.body.style.backgroundImage = url("winterTree.jpg");
}
// March, April, May
else if (Month >= 3 && Month <= 5) {
document.body.style.backgroundImage = url("springTree.jpg");
}
// June, July, August
else if (Month >= 6 && Month <= 8) {
document.body.style.backgroundImage = url("summerTree.jpg");
}
// September, October, November
else if (Month >= 9 && Month <= 11) {
document.body.style.backgroundImage = url("autumnTree.jpg");
}
var d=新日期();
var Day=d.getDate();
//下面的函数返回0到11。因此我们添加了+1
变量月份=d.getMonth()+1;
//一月、二月、十二月
如果(Month==12 | | Month=3&&Month=6&&Month=9&&Month我建议您在
标记中使用类注入。Javascript代码将注入您想要的任何类(取决于位置(冬季与夏季)或当地时间(白天与夜晚))。您的css将具有背景(或任何其他相应的差异)
CSS:
您还可以有其他区别:
.spring li a {color: green}
.winter li a {color: white}
您可以按如下方式从javascript设置类:
var html = document.getElementsByTagName('html')[0];
html.setAttribute('class', 'spring');
或者,如果希望多个类插入(添加)所需的类:
root.classList.add('evening');
根据你的条件:
var d = new Date();
var month = d.getMonth() + 1;
var html = document.getElementsByTagName('html')[0];
if (month >= 3 && month <= 5) {
root.classList.add('spring');
} else if (month >= 6 && month <= 8) {
root.classList.add('summer');
} else if (month >= 9 && month <= 11) {
root.classList.add('autumn');
} else(month == 12 || month <= 2) {
root.classList.add('winter');
}
var d=新日期();
变量月份=d.getMonth()+1;
var html=document.getElementsByTagName('html')[0];
如果(月>=3&&month=6&&month=9&&month我对您编写JavaScript的方法感到惊讶。如果您可以查看并检查如何针对类和覆盖样式,那将非常好。下面是您的解决方案
var d = new Date();
var Day = d.getDate();
var Month = d.getMonth();
if (Month <= 3 || Month === 5) {
document.getElementsByClassName('body')[0].style.background = "url('https://image.freepik.com/free-photo/my-cat-mimi_2568679.jpg')";
console.log('1');
} else if (Month <= 6 || Month >= 8) {
document.getElementsByClassName('body')[0].style.background = "url('https: //image.freepik.com/free-photo/clouds-above-the-volcano_426-19322758.jpg')";
console.log('2');
} else if (Month <= 9 || Month >= 11) {
document.getElementsByClassName('body')[0].style.background = "url('https://image.freepik.com/free-photo/my-cat-mimi_2568679.jpg')";
console.log('3');
} else {
document.getElementsByClassName('body')[0].style.background = "url('https: //image.freepik.com/free-photo/clouds-above-the-volcano_426-19322758.jpg')";
console.log('4');
}
var d=新日期();
var Day=d.getDate();
var Month=d.getMonth();
如果(月var d=新日期();
var Day=d.getDate();
var Month=d.getMonth();
如果(月份==8){
document.background-image:url(“summerTree.jpg”);
}否则如果(月==<9&&Month==>11){
document.background-image:url(“autumnTree.jpg”);
}其他(月份==12和月份==>2){
document.background-image:url(“winterTree.jpg”);
请检查您的所有情况。
示例:Month==12和Monthpost完整的javascriptin javascript,Month是0-11,而不是1-12-这可能会导致您的问题?我建议每个季度使用一个css类,然后您可以将正确的类设置到正文中。:-)这:如果(Month==您说“set inject the class from javascript”是什么意思?这段代码是否应该包含在从HTML调用的另一个JavaScript文件中?另外,我是否只调用CSS文件和JavaScript文件(使用您给出的代码)从我的html文件中获取该功能?无论如何感谢您的帮助。@BOUYBOY,无论您是将js、css内联到html中,还是将其从其他文件链接到html中,这都无关紧要。代码的这一部分向标记添加了一个类,因此如果您的css带有前缀,如.spring
,那么从现在起,这些css规则将起作用
root.classList.add('evening');
var d = new Date();
var month = d.getMonth() + 1;
var html = document.getElementsByTagName('html')[0];
if (month >= 3 && month <= 5) {
root.classList.add('spring');
} else if (month >= 6 && month <= 8) {
root.classList.add('summer');
} else if (month >= 9 && month <= 11) {
root.classList.add('autumn');
} else(month == 12 || month <= 2) {
root.classList.add('winter');
}
var d = new Date();
var Day = d.getDate();
var Month = d.getMonth();
if (Month <= 3 || Month === 5) {
document.getElementsByClassName('body')[0].style.background = "url('https://image.freepik.com/free-photo/my-cat-mimi_2568679.jpg')";
console.log('1');
} else if (Month <= 6 || Month >= 8) {
document.getElementsByClassName('body')[0].style.background = "url('https: //image.freepik.com/free-photo/clouds-above-the-volcano_426-19322758.jpg')";
console.log('2');
} else if (Month <= 9 || Month >= 11) {
document.getElementsByClassName('body')[0].style.background = "url('https://image.freepik.com/free-photo/my-cat-mimi_2568679.jpg')";
console.log('3');
} else {
document.getElementsByClassName('body')[0].style.background = "url('https: //image.freepik.com/free-photo/clouds-above-the-volcano_426-19322758.jpg')";
console.log('4');
}
var d = new Date();
var Day = d.getDate();
var Month = d.getMonth();
if (Month == <3 && Month == 5) {
document.background-image: url("springTree.jpg");
} else if (Month == < 6 && Month == > 8) {
document.background-image: url("summerTree.jpg");
} else if (Month == < 9 && Month == > 11) {
document.background-image: url("autumnTree.jpg");
} else (Month == 12 && Month == > 2) {
document.background-image: url("winterTree.jpg");