无法根据 JSON API 变量更改 HTML 背景


    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中获取当前温度,然后将其解析并传递到背景。然后,我应用一个if循环来分配CSS类(.cold,.avg&.。。

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);
}

尝试这个。

您可以使用以下方式:

   function setImage(myClass) { 
     $('body').toggleClass(myClass);
}

如jQuery的API文档中所述:

在匹配元素集中的每个元素中添加或删除一个或多个类...

最新更新