如果(条件组)执行此操作,如果(条件组)执行此操作,则if(条件组)执行此操作。什么?

时间:2013-04-19 17:25:49

标签: javascript if-statement weather wunderground

所以,我正在建立一个天气网站,我使用的是Wunderground的API。在AJAX XML转储中,“icon”的值似乎是要走的路。此响应将动态更改页面上的CSS。我有可能的页面的多个状态,但我似乎无法使它们工作。它似乎在第一个“如果”声明后停止。我需要它来检查wu_icon ==某些条件,如果没有,移动到下一个,看看wu_icon ==下一组条件。

这是website

非常感谢任何帮助。

function get_weather(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    wu_query = latitude + ',' + longitude;

    //Weather underground request URL format.
    wu_url = wu_base_url + '/' + wu_api_key + '/' + wu_features + '/q/' + wu_query + '.json';
    console.log('URL Query: ' + wu_url);

    $.ajax({
        url: wu_url,
        dataType: "jsonp",
        success: function(parsed_json) {
            console.log(parsed_json);

            var location = parsed_json['location']['city'];
            var wuurl = parsed_json['location']['wuiurl'];

            //simple forecast day 1.
            var wu = parsed_json['current_observation'];
            var wu_temp_f = wu['temp_f'];
            var wu_high_temp = wu['high'];
            var wu_low_temp = wu['low'];
            var wu_icon = wu['icon'];

            $('#location').html(location);
            $('#temp').html(wu_temp_f + '&degF');


            if (wu_icon == 'partlycloudy' || 'partlysunny' || 'unkown'){
                document.getElementById('rainclouds').style.display = 'none';
                document.getElementById('topclouds').style.display = 'block';
                document.getElementById('bottomclouds').style.display = 'block';
                document.getElementById('canvas').style.display = 'none';
                document.getElementById('snow').style.display = 'none';
                window.alert("1");
                }

            else if (wu_icon == 'rain' || 'chancerain' || 'chancetstorms' || 'tstorms'){
                document.getElementById('rainclouds').style.display = 'block';
                document.getElementById('topclouds').style.display = 'none';
                document.getElementById('bottomclouds').style.display = 'none';
                document.getElementById('canvas').style.display = 'block';
                document.getElementById('snow').style.display = 'none';
                window.alert("2");
                }

            else if (wu_icon == 'flurries' || 'snow' || 'chanceflurries' || 'chancesnow'){
                document.getElementById('rainclouds').style.display = 'block';
                document.getElementById('topclouds').style.display = 'none';
                document.getElementById('bottomclouds').style.display = 'none';
                document.getElementById('canvas').style.display = 'none';
                document.getElementById('snow').style.display = 'block';
                window.alert("3");
                }

            else if (wu_icon == 'clear' || 'mostlysunny' || 'sunny'){
                document.getElementById('rainclouds').style.display = 'none';
                document.getElementById('topclouds').style.display = 'block';
                document.getElementById('bottomclouds').style.display = 'none';
                document.getElementById('canvas').style.display = 'none';
                document.getElementById('snow').style.display = 'none';
                window.alert("4")
                }

            else if (wu_icon == 'chancesleet' || 'sleet'){
                document.getElementById('rainclouds').style.display = 'block';
                document.getElementById('topclouds').style.display = 'none';
                document.getElementById('bottomclouds').style.display = 'none';
                document.getElementById('canvas').style.display = 'block';
                document.getElementById('snow').style.display = 'block';
                window.alert("5");
                }

            else if (wu_icon == 'cloudy' || 'mostlycloudy' || 'fog' || 'hazy'){
                document.getElementById('rainclouds').style.display = 'block';
                document.getElementById('topclouds').style.display = 'none';
                document.getElementById('bottomclouds').style.display = 'none';
                document.getElementById('canvas').style.display = 'none';
                document.getElementById('snow').style.display = 'none';
                window.alert("6");
                }


        }

1 个答案:

答案 0 :(得分:1)

你的if语句应该是

if (wu_icon == 'partlycloudy' || wu_icon == 'partlysunny' || wu_icon == 'unkown')

更短的版本将是

if (["partlycloudy","partlysunny","unkown"].indexOf(wu_icon) != -1)