我一直在搞乱这个插件:http://jsfiddle.net/a4hbL/2064/
我正在尝试每次满足条件时都使用JQuery显示文本:如果外面是阳光明媚的“它是阳光明媚的”,如果正在下雪打印“正在下雪”等等......
我试过了:
if(weather.tomorrow.code === 32) {
$("#weather").html('<h1>It is Sunny!</h1>');
}
else if {
... // rest of the possible outputs.
但没有任何效果(有关天气代码,请参阅http://developer.yahoo.com/weather/#codes)。 我一直在控制台中遇到各种错误,例如天气未定义或无法读取代码属性。
以下是我添加的地方:http://jsfiddle.net/LEJbT/2/
非常感谢帮助。我被困了一段时间没有修复......
谢谢!
答案 0 :(得分:2)
看,它有效:http://jsfiddle.net/Q2Y6s/
您必须将代码放在成功部分:
中$(document).ready(function () {
$.simpleWeather({
zipcode: '',
woeid: '2357536',
location: '',
unit: 'f',
success: function (weather) {
html = '<h2>' + weather.tomorrow.high + '°' + weather.units.temp + '</h2>';
html += '<ul><li>' + weather.city + ', ' + weather.region + '</li>';
html += '<li class="currently">' + weather.tomorrow.forecast + '</li>';
html += '<li>' + weather.tomorrow.highAlt + '°C</li></ul>';
$("#weather").html(html);
/************************** your code HAS TO BE here ************************/
if(weather.tomorrow.code > 16) {
$("#weather").html('<h1>Alert: Freezing Rain!</h1>');
}
else {
$("#weather").html('<h1>Alert: Freezing Rain!</h1>');
}
},
error: function (error) {
$("#weather").html('<p>' + error + '</p>');
}
});
/************************** your code was here ************************/
});
答案 1 :(得分:0)
对于'天气未定义'错误
您可以通过检查成功功能
来检查ajax成功与否success: function(weather) {
console.log(weather);
},
和 对于“无法读取代码属性”错误
您可以查看weather.tomorrow的值
success: function(weather) {
console.log(weather.tomorrow);
},