【发布时间】:2012-05-24 20:57:19
【问题描述】:
我从 Weather Underground 获取一些 API 信息,想知道是否可以使用 API 提供的信息通过 jQuery 更改整个 body 的背景颜色。
我想做的是根据通过 API 返回的特定温度范围在 body 标签上设置一个类。比如:
"current_observation": {
"image": {
"url":"http://icons-ak.wxug.com/graphics/wu2/logo_130x80.png",
"title":"Weather Underground",
"link":"http://www.wunderground.com"
},
"display_location": {
"full":"Bowling Green, KY",
"city":"Bowling Green",
"state":"KY",
"state_name":"Kentucky",
"country":"US",
"country_iso3166":"US",
"zip":"42101",
"latitude":"37.02899933",
"longitude":"-86.46366119",
"elevation":"154.00000000"
},
"observation_location": {
"full":"Ridgeview Drive, Bowling Green, Kentucky",
"city":"Ridgeview Drive, Bowling Green",
"state":"Kentucky",
"country":"US",
"country_iso3166":"US",
"latitude":"36.993744",
"longitude":"-86.522827",
"elevation":"714 ft"
},
"estimated": {
},
"station_id":"KKYBOWLI7",
"observation_time":"Last Updated on May 24, 2:25 PM CDT",
"observation_time_rfc822":"Thu, 24 May 2012 14:25:18 -0500",
"observation_epoch":"1337887518",
"local_time_rfc822":"Thu, 24 May 2012 14:25:29 -0500",
"local_epoch":"1337887529",
"local_tz_short":"CDT",
"local_tz_long":"America/Chicago",
"local_tz_offset":"-0500",
"weather":"Clear",
"temperature_string":"86.8 F (30.4 C)",
"temp_f":86.8
这是我正在提取的一些信息。最后一个 temp_f 是我想要关注的。
范围示例 - 80 到 90 应显示 background:#dd7f35
我曾尝试为此设置自定义变量,但总是以失败告终。我似乎无法弄清楚如何使用从 JSON 中提取的信息来设置变量(如果这甚至可能,因为 temp_f 使用小数。)
这是我调用 JSON 的方式
$().ready(function(){
$.getJSON("http://api.wunderground.com/api/[MY API KEY]/conditions/q/autoip.json?callback=?",
function(data){
$.each(data, function(i, json) {
content = '<h1>' + json.icon + '</h1>';
content += '<img src=' + json.icon_url +'>';
content += '<p>' + json.temp_f + '<p>';
$(content).appendTo("#area");
});
console.log(data)
});
});
这是我尝试过的东西
var backDrop = ' + json.temp_f + '
我使用了+ json.temp_f +,因为这对于常规 HTML 来说是很好的,但我可以假设在这种情况下这不起作用?
非常感谢任何帮助。
【问题讨论】: