获取当前的IP定位
 
    
    var key 
= "4d9a765939a2b76588a3341c2***"
    var url 
= "https://restapi.amap.com/v3/ip?key=" + key
;
    $
.getJSON(url
, function (res
) {
        
        var adcode 
= res
.adcode
;
        $("#ip").html("当前位置:" + res
.province 
+ res
.city
);
        
        getWeather(adcode
, key
)
    })
 
获取天气情况函数
 
    
    function getWeather(adcode
, key
) {
        
        var url 
= 'https://restapi.amap.com/v3/weather/weatherInfo?city=' + adcode 
+ '&key=' + key 
+ '&extensions=all';
        $
.getJSON(url
, function (res
) {
            
            
            $(".date-dayname").html(getWeek(res
.forecasts
[0].casts
[0].week
));
            
            $(".date-day").html(res
.forecasts
[0].reporttime
.slice(0, 10));
            
            $(".location").html(res
.forecasts
[0].city
);
            
            $(".weather-temp").html(res
.forecasts
[0].casts
[0].daytemp 
+ "°C");
            
            $(".weather-desc").html(res
.forecasts
[0].casts
[0].dayweather
);
            
            $("#daypower").html(res
.forecasts
[0].casts
[0].daypower
);
            
            $("#daywind").html(res
.forecasts
[0].casts
[0].daywind
);
            
            $("#dayweather").html(res
.forecasts
[0].casts
[0].dayweather
);
            
            $("#week0").html(getWeek(res
.forecasts
[0].casts
[0].week
));
            $("#week1").html(getWeek(res
.forecasts
[0].casts
[1].week
));
            $("#week2").html(getWeek(res
.forecasts
[0].casts
[2].week
));
            $("#week3").html(getWeek(res
.forecasts
[0].casts
[3].week
));
            
            $("#temp0").html(res
.forecasts
[0].casts
[0].daytemp 
+ "°C");
            $("#temp1").html(res
.forecasts
[0].casts
[1].daytemp 
+ "°C");
            $("#temp2").html(res
.forecasts
[0].casts
[2].daytemp 
+ "°C");
            $("#temp3").html(res
.forecasts
[0].casts
[3].daytemp 
+ "°C");
            
            $("#icon").html(getIcon(0, "day", res
.forecasts
[0].casts
[0].dayweather
));
            $("#icon0").html(getIcon(1, "day", res
.forecasts
[0].casts
[0].dayweather
));
            $("#icon1").html(getIcon(1, "day", res
.forecasts
[0].casts
[1].dayweather
));
            $("#icon2").html(getIcon(1, "day", res
.forecasts
[0].casts
[2].dayweather
));
            $("#icon3").html(getIcon(1, "day", res
.forecasts
[0].casts
[3].dayweather
));
        })
    }
 
判断星期
 
    
    function getWeek(week
) {
        switch (week
) {
            case "1":
                return "星期一"
                break;
            case "2":
                return "星期二"
                break;
            case "3":
                return "星期三"
                break;
            case "4":
                return "星期四"
                break;
            case "5":
                return "星期五"
                break;
            case "6":
                return "星期六"
                break;
            case "7":
                return "星期日"
                break;
            default:
                return "异常"
        }
    }
 
判断天气情况返回对应图图标
 
    
    
    function getIcon(local
, times
, desc
) {
        var iconWidth
, url
;
        
        if (local 
== 0) {
            iconWidth 
= "80px";
        } else {
            iconWidth 
= "30px";
        }
        
        if (times 
== "day") {
            url 
= "img/day/"
        } else {
            url 
= "img/night/"
        }
        
        switch (desc
) {
            case "晴":
                return '<img src="' + url 
+ '00.png" width=' + iconWidth 
+ '>'
                break;
            case "多云":
                return '<img src="' + url 
+ '01.png" width=' + iconWidth 
+ '>'
                break;
            case "阴":
                return '<img src="' + url 
+ '02.png" width=' + iconWidth 
+ '>'
                break;
            case "阵雨":
                return '<img src="' + url 
+ '03.png" width=' + iconWidth 
+ '>'
                break;
            case "雷阵雨":
                return '<img src="' + url 
+ '04.png" width=' + iconWidth 
+ '>'
                break;
            case "雷阵雨并伴有冰雹":
                return '<img src="' + url 
+ '05.png" width=' + iconWidth 
+ '>'
                break;
            case "雨夹雪":
                return '<img src="' + url 
+ '06.png" width=' + iconWidth 
+ '>'
                break;
            case "小雨":
                return '<img src="' + url 
+ '07.png" width=' + iconWidth 
+ '>'
                break;
            case "中雨":
                return '<img src="' + url 
+ '08.png" width=' + iconWidth 
+ '>'
                break;
            case "大雨":
                return '<img src="' + url 
+ '09.png" width=' + iconWidth 
+ '>'
                break;
            case "暴雨":
                return '<img src="' + url 
+ '10.png" width=' + iconWidth 
+ '>'
                break;
            case "大暴雨":
                return '<img src="' + url 
+ '11.png" width=' + iconWidth 
+ '>'
                break;
            case "特大暴雨":
                return '<img src="' + url 
+ '12.png" width=' + iconWidth 
+ '>'
                break;
            case "阵雪":
                return '<img src="' + url 
+ '13.png" width=' + iconWidth 
+ '>'
                break;
            case "小雪":
                return '<img src="' + url 
+ '14.png" width=' + iconWidth 
+ '>'
                break;
            case "中雪":
                return '<img src="' + url 
+ '15.png" width=' + iconWidth 
+ '>'
                break;
            case "大雪":
                return '<img src="' + url 
+ '16.png" width=' + iconWidth 
+ '>'
                break;
            case "暴雪":
                return '<img src="' + url 
+ '17.png" width=' + iconWidth 
+ '>'
                break;
            case "雾":
                return '<img src="' + url 
+ '18.png" width=' + iconWidth 
+ '>'
                break;
            case "冻雨":
                return '<img src="' + url 
+ '19.png" width=' + iconWidth 
+ '>'
                break;
            case "沙尘暴":
                return '<img src="' + url 
+ '20.png" width=' + iconWidth 
+ '>'
                break;
            case "霾":
                return '<img src="' + url 
+ '53.png" width=' + iconWidth 
+ '>'
                break;
            case "雨":
                return '<img src="' + url 
+ '301.png" width=' + iconWidth 
+ '>'
                break;
            case "雪":
                return '<img src="' + url 
+ '302.png" width=' + iconWidth 
+ '>'
                break;
            default:
                return "异常"
        }
    }
 
html代码
 
<div class="container">
    <div class="weather-side">
        <div class="weather-gradient"></div>
        <div class="date-container">
            <h2 class="date-dayname"></h2><span class="date-day"></span>
            <i class="location-icon"></i><span class="location"></span>
        </div>
        <div class="weather-container"><i class="weather-icon" id="icon"></i>
            <h1 class="weather-temp"></h1>
            <h3 class="weather-desc"></h3>
        </div>
    </div>
    <div class="info-side">
        <div class="today-info-container">
            <div class="today-info">
                <div class="precipitation"><span class="title">风力
</span><span class="value" id="daypower"></span>
                    <div class="clear"></div>
                </div>
                <div class="humidity"><span class="title">风向
</span><span class="value" id="daywind"></span>
                    <div class="clear"></div>
                </div>
                <div class="wind"><span class="title">天气现象
</span><span class="value" id="dayweather"></span>
                    <div class="clear"></div>
                </div>
            </div>
        </div>
        <div class="week-container">
            <ul class="week-list">
                <li><i class="day-icon" id="icon0"></i><span class="day-name" id="week0"></span><span class="day-temp"
                                                                                                      id="temp0"></span>
                </li>
                <li><i class="day-icon" id="icon1"></i><span class="day-name" id="week1"></span><span class="day-temp"
                                                                                                      id="temp1"></span>
                </li>
                <li><i class="day-icon" id="icon2"></i><span class="day-name" id="week2"></span><span class="day-temp"
                                                                                                      id="temp2"></span>
                </li>
                <li><i class="day-icon" id="icon3"></i><span class="day-name" id="week3"></span><span class="day-temp"
                                                                                                      id="temp3"></span>
                </li>
                <div class="clear"></div>
            </ul>
        </div>
        <div class="location-container">
            <button class="location-button"><span id="ip"></span></button>
        </div>
    </div>
</div>
 
Done!
                
                
                
        
    
 
                    转载请注明原文地址: https://lol.8miu.com/read-31095.html