JQuery simpleWeather问题

时间:2014-01-25 00:21:43

标签: jquery weather

我一直在搞乱这个插件: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/

非常感谢帮助。我被困了一段时间没有修复......

谢谢!

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 + '&deg;' + 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 + '&deg;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);
},