function getWeather(lat, lon){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
currentTempInCelsius =parseInt(myObj.main.temp);
document.getElementById("temp").innerHTML =currentTempInCelsius;
backImage(parseInt(myObj.main.temp));
}
};
xmlhttp.open("GET", urlString, true);
xmlhttp.send();
}
在第一个函数中,我从 API 获取当前温度,我对其进行解析并传递给 backImage。然后我应用一个 if 循环来分配一个 css 类(.cold、.avg 和 .body),该类将背景图像的 url 保存到 body,但它似乎不起作用。
function backImage(tempp){
if(tempp<15){
setImg(cold);
}
if(tempp>=15&&tempp<25){
setImg(avg);
}
if(tempp>=25){
setImg(hot);
}
}
function setImg(myClass){
$('body').className = myClass;
}
最佳答案
function setImg(myClass){
$('body').removeClass();
$('body').addClass(myClass);
}
试试这个。
关于javascript - 无法根据 JSON API 变量更改 HTML 背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46015297/