2017-09-02 44 views
0
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保存到背景图像中,但它似乎不起作用。无法根据JSON API变量获取HTML背景

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

回答

1
function setImg(myClass){ 
    $('body').removeClass(); 
    $('body').addClass(myClass); 
} 

尝试这个。

+0

似乎没有工作,虽然它是有道理的,首先删除类 –

0

,你可以这样做:

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

正如API Documentation of Jquery提到这一功能:

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