
天气预报读取,充分利用了Ajax技术来体现页面无刷新。
如果想获取源码,进一步学习和交流,可以回复,留下你的Email。
1
.
2
3
<link href="Style/default.css" rel="stylesheet" type="text/css" />
4
<link href="Style/Div.css" rel="stylesheet" type="text/css" />
5
6


7
8
<center>
9
<div id="all">
10
<div id="left">
11
<div id="weather_outer">
12
<div id="weather">
13
<div id="weather_title" class="handle">
14
<div id="weather_title_1">天气预报</div>
15
<div id="weather_title_2">
16
<img class="hand" src="Images/refresh.gif" onclick="RefreshWeather();" alt="刷新天气"/>
17
<img class="hand" src="Images/settings.gif" onclick="EditCityWeather();" alt="定制天气" />
18
<img class="hand" src="Images/colapse.gif" onclick="showHide(this.parentNode.parentNode.parentNode.children[1],this);" alt="" />
19
<img class="hand" src="Images/close.gif" alt="" />
20
</div>
21
</div>
22
<div id="weather_content">
23
<div id="selectCityWeather">
24
<select id="Weather_ProvinceList" onchange="ShowCityFromProvince('Weather_ProvinceList','Weather_CityList');"></select>
25
省
26
<select id="Weather_CityList" onchange="GetWeather(this.value);"></select>
27
市
28
</div>
29
<div></div>
30
</div>
31
</div>
32
</div>
33
</div>
34
</center>
<script type="text/javascript" language="javascript">
init();
</script>

.2

3
<link href="Style/default.css" rel="stylesheet" type="text/css" />4
<link href="Style/Div.css" rel="stylesheet" type="text/css" />5

6



7

8
<center>9
<div id="all">10
<div id="left">11
<div id="weather_outer">12
<div id="weather">13
<div id="weather_title" class="handle">14
<div id="weather_title_1">天气预报</div>15
<div id="weather_title_2">16
<img class="hand" src="Images/refresh.gif" onclick="RefreshWeather();" alt="刷新天气"/> 17
<img class="hand" src="Images/settings.gif" onclick="EditCityWeather();" alt="定制天气" />18
<img class="hand" src="Images/colapse.gif" onclick="showHide(this.parentNode.parentNode.parentNode.children[1],this);" alt="" />19
<img class="hand" src="Images/close.gif" alt="" />20
</div>21
</div>22
<div id="weather_content">23
<div id="selectCityWeather">24
<select id="Weather_ProvinceList" onchange="ShowCityFromProvince('Weather_ProvinceList','Weather_CityList');"></select>25
省26
<select id="Weather_CityList" onchange="GetWeather(this.value);"></select>27
市28
</div>29
<div></div>30
</div>31
</div>32
</div>33
</div>34
</center><script type="text/javascript" language="javascript">
init();
</script>
js文件中涉及的代码:
首先要把<script type="text/javascript" src="Js/prototype.js" ></script>加进来,prototype.js可以到晚上下载。
1
function init()
2
{
3
GetWeather(); //获得天气预报
4
}
5
6
//获得天气预报
7
function GetWeather(theCityCode)
8
{
9
if(!CityCode && !theCityCode) CityCode="144";
10
if(theCityCode)
11
{
12
CityCode = theCityCode;
13
}
14
15
$("selectCityWeather").style.display = "none";
16
$("weather_content").children[1].innerHTML = "<center><img src='Images/inprogress.gif' /></center>";
17
18
var option={
19
parameters:"t=weather&CityCode="+CityCode,
20
method:"get",
21
onSuccess:function(transport){
22
var rp=transport.responseText;
23
var doc=new X2Doc(rp);
24
var result=doc.root.getValue("Result");
25
if(result=="OK")
26
{
27
var weather = "<ul class='weather'>";
28
weather += "<li> <font color='#e1671c'><b>"+doc.root.getValue("City")+"</b></font> "+doc.root.getValue("TodayWeather")+"</li>";
29
weather += "<li><img src='Images/Weather/WenDu.gif' alt='温度' /> "+doc.root.getValue("WenDu")+"</li>";
30
weather += "<li><img src='Images/Weather/FengLi.gif' alt='风力' /> "+doc.root.getValue("FengLi")+"</li>";
31
weather += "<li><img src='Images/Weather/ZiWaiXian.gif' alt='紫外线' /> "+doc.root.getValue("ZiWaiXian")+"</li>";
32
weather += "<li><img src='Images/Weather/KongQi.gif' alt='空气' /> "+doc.root.getValue("KongQi")+"</li>";
33
weather += "</ul>";
34
$("weather_content").children[1].innerHTML = weather;
35
}
36
else
37
{
38
$("weather_content").children[1].innerHTML = "数据获取失败,请检查网络或重试。";
39
}
40
$("weather_title_2").children[0].src="Images/refresh.gif";
41
},
42
onFailure:function(transport)
43
{
44
$("weather_content").children[1].innerHTML="数据获取失败,请检查网络或重试。";
45
$("weather_title_2").children[0].src="Images/refresh.gif";
46
}
47
}
48
var request=new Ajax.Request("ajax.aspx",option);
49
}
50
51
//刷新天气
52
function RefreshWeather()
53
{
54
$("weather_title_2").children[0].src="Images/indicator2.gif";
55
GetWeather();
56
}
57
58
//修改天气预报城市
59
function EditCityWeather()
60
{
61
InitProvince("Weather_ProvinceList");
62
if($("selectCityWeather").style.display == "none")
63
{
64
$("selectCityWeather").style.display = "block";
65
}
66
else
67
{
68
$("selectCityWeather").style.display = "none";
69
}
70
}
71
function init()2
{3
GetWeather(); //获得天气预报4
}5

6
//获得天气预报7
function GetWeather(theCityCode)8
{9
if(!CityCode && !theCityCode) CityCode="144";10
if(theCityCode)11
{12
CityCode = theCityCode;13
}14
15
$("selectCityWeather").style.display = "none"; 16
$("weather_content").children[1].innerHTML = "<center><img src='Images/inprogress.gif' /></center>";17

18
var option={19
parameters:"t=weather&CityCode="+CityCode,20
method:"get",21
onSuccess:function(transport){22
var rp=transport.responseText;23
var doc=new X2Doc(rp);24
var result=doc.root.getValue("Result");25
if(result=="OK")26
{27
var weather = "<ul class='weather'>";28
weather += "<li> <font color='#e1671c'><b>"+doc.root.getValue("City")+"</b></font> "+doc.root.getValue("TodayWeather")+"</li>";29
weather += "<li><img src='Images/Weather/WenDu.gif' alt='温度' /> "+doc.root.getValue("WenDu")+"</li>";30
weather += "<li><img src='Images/Weather/FengLi.gif' alt='风力' /> "+doc.root.getValue("FengLi")+"</li>";31
weather += "<li><img src='Images/Weather/ZiWaiXian.gif' alt='紫外线' /> "+doc.root.getValue("ZiWaiXian")+"</li>";32
weather += "<li><img src='Images/Weather/KongQi.gif' alt='空气' /> "+doc.root.getValue("KongQi")+"</li>";33
weather += "</ul>";34
$("weather_content").children[1].innerHTML = weather;35
}36
else 37
{38
$("weather_content").children[1].innerHTML = "数据获取失败,请检查网络或重试。";39
}40
$("weather_title_2").children[0].src="Images/refresh.gif";41
},42
onFailure:function(transport)43
{44
$("weather_content").children[1].innerHTML="数据获取失败,请检查网络或重试。";45
$("weather_title_2").children[0].src="Images/refresh.gif";46
}47
}48
var request=new Ajax.Request("ajax.aspx",option);49
}50

51
//刷新天气52
function RefreshWeather()53
{54
$("weather_title_2").children[0].src="Images/indicator2.gif";55
GetWeather(); 56
}57

58
//修改天气预报城市59
function EditCityWeather()60
{61
InitProvince("Weather_ProvinceList");62
if($("selectCityWeather").style.display == "none")63
{64
$("selectCityWeather").style.display = "block";65
}66
else67
{68
$("selectCityWeather").style.display = "none";69
} 70
}71

该天气信息要使用到的Js文件或Js代码
1
var ArrayCatalog1 = new Array (
2
new aCatalog('125','北京','000'),
3
new aCatalog('125','北京','北京'),
4
5
new aCatalog('201','重庆','000'),
6
new aCatalog('201','重庆','奉节'),
7
new aCatalog('212','重庆','重庆'),
8
new aCatalog('213','重庆','涪陵'),
9
10
11
new aCatalog('252','上海','上海'),
12
new aCatalog('252','上海','000'),
13
14
new aCatalog('173','云南','000'),
15
new aCatalog('173','云南','昭通'),
16
new aCatalog('174','云南','丽江'),
17
new aCatalog ('0', '0','0')
18
//篇幅太长,仅提供一部分
19
);
20
21
function AddOption (sText,sValue,obSelect2)
22
{
23
var newItem = document.createElement("OPTION") ;
24
25
newItem.text = sText ;
26
newItem.value = sValue ;
27
document.getElementById(obSelect2).options.add(newItem);
28
}
29
function DelOption (obSelect2)
30
{
31
var iLength = document.getElementById(obSelect2).options.length ;
32
for ( var i = iLength - 1 ; i >= 0 ; i -- )
33
document.getElementById(obSelect2).options[i]=null ;
34
}
35
function InitProvince(ProvinceSelect)
36
{
37
var i;
38
DelOption(ProvinceSelect);
39
for(i=0;i<ArrayCatalog1.length-1;i++)
40
{
41
if(ArrayCatalog1[i].sCity=='000')
42
{
43
AddOption(ArrayCatalog1[i].sProvince,ArrayCatalog1[i].sProvince,ProvinceSelect);
44
}
45
}
46
}
47
function ShowCityFromProvince(ProvinceSelect,CitySelect)
48
{
49
if($(ProvinceSelect).options.length<1)
50
InitProvince(ProvinceSelect);
51
var i;
52
var s=document.getElementById(ProvinceSelect).value;
53
DelOption(CitySelect);
54
AddOption("请选择","-1",CitySelect);
55
for(i=0;i<ArrayCatalog1.length-1;i++)
56
{
57
if(ArrayCatalog1[i].sProvince==s&&ArrayCatalog1[i].sCity!='000')
58
{
59
AddOption(ArrayCatalog1[i].sCity,ArrayCatalog1[i].sId,CitySelect);
60
}
61
}
62
}
63
64
function GetWeather(CityCode)
65
{
66
if(CityCode=="-1"||CityCode=='000')
67
return false;
68
setcookie("LYG_BoBoLog_Weather",CityCode,12);
69
ComAjax.GetCurrentWeather(CityCode,Result_GetWeatherByCity);
70
document.getElementById ("Weather.ascx_Weather").innerHTML ="正在读取气象数据
";
71
document.getElementById ("Weather.ascx_City").innerHTML ="
";
72
document.getElementById ("Weather.ascx_WenDu").innerHTML ="
";
73
document.getElementById ("Weather.ascx_FengLi").innerHTML ="
";
74
document.getElementById ("Weather.ascx_ZiWaiXian").innerHTML ="
";
75
document.getElementById ("Weather.ascx_KongQi").innerHTML ="
";
76
}
77
78
function Result_GetWeatherByCity(result)
79
{
80
if(!result.error)
81
{
82
document.getElementById ("Weather.ascx_City").innerHTML =(result.value)[0];
83
document.getElementById ("Weather.ascx_Weather").innerHTML =(result.value)[1];
84
document.getElementById ("Weather.ascx_WenDu").innerHTML =(result.value)[2];
85
document.getElementById ("Weather.ascx_FengLi").innerHTML =(result.value)[3];
86
document.getElementById ("Weather.ascx_ZiWaiXian").innerHTML =(result.value)[4];
87
document.getElementById ("Weather.ascx_KongQi").innerHTML =(result.value)[5];
88
CloseSetCity();
89
}
90
}
var ArrayCatalog1 = new Array (2
new aCatalog('125','北京','000'),3
new aCatalog('125','北京','北京'),4

5
new aCatalog('201','重庆','000'),6
new aCatalog('201','重庆','奉节'),7
new aCatalog('212','重庆','重庆'),8
new aCatalog('213','重庆','涪陵'),9

10
11
new aCatalog('252','上海','上海'),12
new aCatalog('252','上海','000'),13
14
new aCatalog('173','云南','000'),15
new aCatalog('173','云南','昭通'),16
new aCatalog('174','云南','丽江'),17
new aCatalog ('0', '0','0')18
//篇幅太长,仅提供一部分19
);20

21
function AddOption (sText,sValue,obSelect2) 22
{23
var newItem = document.createElement("OPTION") ;24
25
newItem.text = sText ;26
newItem.value = sValue ;27
document.getElementById(obSelect2).options.add(newItem); 28
}29
function DelOption (obSelect2) 30
{31
var iLength = document.getElementById(obSelect2).options.length ;32
for ( var i = iLength - 1 ; i >= 0 ; i -- )33
document.getElementById(obSelect2).options[i]=null ;34
}35
function InitProvince(ProvinceSelect)36
{37
var i;38
DelOption(ProvinceSelect);39
for(i=0;i<ArrayCatalog1.length-1;i++)40
{41
if(ArrayCatalog1[i].sCity=='000')42
{43
AddOption(ArrayCatalog1[i].sProvince,ArrayCatalog1[i].sProvince,ProvinceSelect);44
}45
}46
}47
function ShowCityFromProvince(ProvinceSelect,CitySelect)48
{49
if($(ProvinceSelect).options.length<1)50
InitProvince(ProvinceSelect); 51
var i;52
var s=document.getElementById(ProvinceSelect).value;53
DelOption(CitySelect);54
AddOption("请选择","-1",CitySelect);55
for(i=0;i<ArrayCatalog1.length-1;i++)56
{57
if(ArrayCatalog1[i].sProvince==s&&ArrayCatalog1[i].sCity!='000')58
{59
AddOption(ArrayCatalog1[i].sCity,ArrayCatalog1[i].sId,CitySelect);60
}61
}62
}63

64
function GetWeather(CityCode)65
{66
if(CityCode=="-1"||CityCode=='000')67
return false;68
setcookie("LYG_BoBoLog_Weather",CityCode,12);69
ComAjax.GetCurrentWeather(CityCode,Result_GetWeatherByCity);70
document.getElementById ("Weather.ascx_Weather").innerHTML ="正在读取气象数据
";71
document.getElementById ("Weather.ascx_City").innerHTML ="
"; 72
document.getElementById ("Weather.ascx_WenDu").innerHTML ="
";73
document.getElementById ("Weather.ascx_FengLi").innerHTML ="
";74
document.getElementById ("Weather.ascx_ZiWaiXian").innerHTML ="
";75
document.getElementById ("Weather.ascx_KongQi").innerHTML ="
"; 76
}77
78
function Result_GetWeatherByCity(result)79
{80
if(!result.error)81
{82
document.getElementById ("Weather.ascx_City").innerHTML =(result.value)[0]; 83
document.getElementById ("Weather.ascx_Weather").innerHTML =(result.value)[1];84
document.getElementById ("Weather.ascx_WenDu").innerHTML =(result.value)[2];85
document.getElementById ("Weather.ascx_FengLi").innerHTML =(result.value)[3];86
document.getElementById ("Weather.ascx_ZiWaiXian").innerHTML =(result.value)[4];87
document.getElementById ("Weather.ascx_KongQi").innerHTML =(result.value)[5]; 88
CloseSetCity();89
}90
}ajax.aspx文件
1
using System.Text;
2
3
public partial class ajax : System.Web.UI.Page
4
{
5
protected string st
6
{
7
get {
8
if (null == Request.QueryString["t"])
9
return string.Empty;
10
return Request.QueryString["t"].Trim();
11
}
12
}
13
protected string request = string.Empty;
14
protected StringBuilder sb = new StringBuilder();
15
16
protected void Page_Load(object sender, EventArgs e)
17
{
18
switch (st)
19
{
20
case "weather":
21
GetWeather();
22
break;
23
default:
24
break;
25
}
26
27
Response.Write(request);
28
}
29
30
protected void GetWeather()
31
{
32
string strCityCode = (Request.QueryString["CityCode"] == null ? string.Empty : Request.QueryString["CityCode"]);
33
Weather wea = WeatherInfo.GetCurrentWeather(strCityCode);
34
if (wea.City != "-1")
35
{
36
sb.Append("<weather>");
37
sb.Append("<City>" + wea.City + "</City>");
38
sb.Append("<TodayWeather>" + wea.TodayWeather + "</TodayWeather>");
39
sb.Append("<WenDu>" + wea.WenDu + "</WenDu>");
40
sb.Append("<FengLi>" + wea.FengLi + "</FengLi>");
41
sb.Append("<ZiWaiXian>" + wea.ZiWaiXian + "</ZiWaiXian>");
42
sb.Append("<KongQi>" + wea.KongQi + "</KongQi>");
43
sb.Append("<Result>OK</Result>");
44
sb.Append("</weather>");
45
}
46
else
47
{
48
sb.Append("<weather><Result>False</Result></weather>");
49
}
50
51
request = sb.ToString();
52
}
53
}
using System.Text;2

3
public partial class ajax : System.Web.UI.Page4
{5
protected string st6
{7
get {8
if (null == Request.QueryString["t"])9
return string.Empty;10
return Request.QueryString["t"].Trim();11
}12
}13
protected string request = string.Empty;14
protected StringBuilder sb = new StringBuilder();15

16
protected void Page_Load(object sender, EventArgs e)17
{18
switch (st)19
{20
case "weather":21
GetWeather();22
break;23
default:24
break;25
}26

27
Response.Write(request);28
}29

30
protected void GetWeather()31
{32
string strCityCode = (Request.QueryString["CityCode"] == null ? string.Empty : Request.QueryString["CityCode"]);33
Weather wea = WeatherInfo.GetCurrentWeather(strCityCode);34
if (wea.City != "-1")35
{36
sb.Append("<weather>");37
sb.Append("<City>" + wea.City + "</City>");38
sb.Append("<TodayWeather>" + wea.TodayWeather + "</TodayWeather>");39
sb.Append("<WenDu>" + wea.WenDu + "</WenDu>");40
sb.Append("<FengLi>" + wea.FengLi + "</FengLi>");41
sb.Append("<ZiWaiXian>" + wea.ZiWaiXian + "</ZiWaiXian>");42
sb.Append("<KongQi>" + wea.KongQi + "</KongQi>");43
sb.Append("<Result>OK</Result>");44
sb.Append("</weather>");45
}46
else47
{48
sb.Append("<weather><Result>False</Result></weather>");49
}50

51
request = sb.ToString();52
}53
}Weather类文件:
1
public static Weather GetCurrentWeather(string CityCode)
2
{
3
try
4
{
5
Uri myUri = new Uri("http://weather.news.qq.com/inc/ss" + CityCode + ".htm");
6
HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create(myUri);
7
myWebRequest.Method = "GET";
8
HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse();
9
10
StreamReader reader = new StreamReader(myWebResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));
11
byte[] buffer = System.Text.Encoding.GetEncoding("GB2312").GetBytes(reader.ReadToEnd());
12
string HTML = System.Text.Encoding.GetEncoding("GB2312").GetString(buffer).Trim();
13
string temp = "";
14
15
int start, stop;
16
start = HTML.IndexOf("</style>", 0, HTML.Length);
17
stop = HTML.IndexOf("<script>", 0, HTML.Length);
18
temp = HTML.Substring(start, stop - start);
19
Regex regex = new Regex("<[^>]*>");
20
string[] ss = regex.Split(temp);
21
string t = "";
22
foreach (string p in ss)
23
{
24
if (p.Trim().Length > 0)
25
t += p + "/";
26
}
27
string[] sss = t.Split('/');
28
Weather weather = new Weather();
29
if (sss.Length > 0) weather.City = sss[0];
30
if (sss.Length > 1) weather.TodayWeather = sss[1];
31
if (sss.Length > 2) weather.WenDu = sss[2];
32
if (sss.Length > 3) weather.FengLi = sss[3];
33
if (sss.Length > 4) weather.ZiWaiXian = sss[4];
34
if (sss.Length > 5) weather.KongQi = sss[5];
35
36
reader.Close();
37
myWebResponse.Close();
38
return weather;
39
}
40
catch
41
{
42
Weather w = new Weather();
43
w.City = "-1";
44
return w;
45
}
46
}
public static Weather GetCurrentWeather(string CityCode)2
{3
try4
{5
Uri myUri = new Uri("http://weather.news.qq.com/inc/ss" + CityCode + ".htm");6
HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create(myUri);7
myWebRequest.Method = "GET";8
HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse();9

10
StreamReader reader = new StreamReader(myWebResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));11
byte[] buffer = System.Text.Encoding.GetEncoding("GB2312").GetBytes(reader.ReadToEnd());12
string HTML = System.Text.Encoding.GetEncoding("GB2312").GetString(buffer).Trim();13
string temp = "";14

15
int start, stop;16
start = HTML.IndexOf("</style>", 0, HTML.Length);17
stop = HTML.IndexOf("<script>", 0, HTML.Length);18
temp = HTML.Substring(start, stop - start);19
Regex regex = new Regex("<[^>]*>");20
string[] ss = regex.Split(temp);21
string t = "";22
foreach (string p in ss)23
{24
if (p.Trim().Length > 0)25
t += p + "/";26
}27
string[] sss = t.Split('/');28
Weather weather = new Weather();29
if (sss.Length > 0) weather.City = sss[0];30
if (sss.Length > 1) weather.TodayWeather = sss[1];31
if (sss.Length > 2) weather.WenDu = sss[2];32
if (sss.Length > 3) weather.FengLi = sss[3];33
if (sss.Length > 4) weather.ZiWaiXian = sss[4];34
if (sss.Length > 5) weather.KongQi = sss[5];35

36
reader.Close();37
myWebResponse.Close();38
return weather;39
}40
catch41
{42
Weather w = new Weather();43
w.City = "-1";44
return w;45
}46
}1
public class Weather
2
{
3
public string City; // 城市
4
public string TodayWeather; //天气
5
public string WenDu; // 温度
6
public string FengLi; // 风力
7
public string ZiWaiXian; // 紫外线
8
public string KongQi; // 空气
9
}
public class Weather2
{3
public string City; // 城市4
public string TodayWeather; //天气5
public string WenDu; // 温度6
public string FengLi; // 风力7
public string ZiWaiXian; // 紫外线8
public string KongQi; // 空气9
}
HTML=
1
<style type="text/css">
2
body,table{font-size:12px;line-height:150%;}
3
A.color4:link {COLOR: #DD7D02;TEXT-DECORATION: none}
4
A.color4:visited { COLOR: #DD7D02;TEXT-DECORATION: none}
5
A.color4:active { COLOR: #DD7D02;TEXT-DECORATION: underline}
6
A.color4:hover { COLOR: #DD7D02;TEXT-DECORATION: underline}
7
</style>
8
<table width="189" border="0" cellspacing="0" cellpadding="0" align="center">
9
<tr><td colspan="3"><img src="/images/r_t1.gif" width="189" height="35"></td></tr>
10
<tr align="center"><td height="60" colspan="3"><table width="189" border="0" cellspacing="0" cellpadding="0" background="/images/r_tembg2.gif">
11
<tr><td colspan="2"><img src="/images/r_tembg1.gif" width="189" height="6"></td></tr>
12
<tr>
13
<td height="23" width="72" align="center" background="/images/r_tembg4.gif" class="rb12">北京</td>
14
<td height="23" width="117" background="/images/r_tembg5.gif" align="center">雷阵雨</td>
15
</tr>
16
<tr>
17
<td height="23" align="center"><img src="/images/tem1.gif" width="57" height="13"></td>
18
<td height="23" align="center">20℃~29℃
19
</td>
20
</tr>
21
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>
22
<tr>
23
<td height="23" align="center"><img src="/images/tem2.gif" width="57" height="13"></td>
24
<td height="23" align="center">无风向微风</td>
25
</tr>
26
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>
27
28
<tr>
29
<td height="23" align="center"><img src="/images/tem3.gif" width="57" height="13"></td>
30
<td height="23" align="center">弱</td>
31
</tr>
32
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>
33
<tr>
34
<td height="23" align="center"><img src="/images/tem5.gif" width="57" height="13"></td>
35
<td height="23" align="center">良</td>
36
</tr>
37
38
<tr><td colspan="2"><img src="/images/r_tembg3.gif" width="189" height="3"></td></tr>
39
</table></td></tr>
40
<tr>
41
<td height="30" width="96"><img src="/images/r_b.gif" width="96" height="21"></td>
42
<td width="88" align="center"><script>
43
function getcookie(name) {
44
var my_cookie = document.cookie;
45
var start = my_cookie.indexOf(name + "@weather.qq.com" + "=");
46
if (start == -1) return '';
47
48
start += name.length + 16; //1 stands of '='
49
50
var end = my_cookie.indexOf(";" ,start);
51
if (end == -1) end = my_cookie.length;
52
return my_cookie.substr(start, end - start);
53
}
54
55
function setcookie(name,value,open, path) {
56
var nextyear = new Date();
57
if (open) {
58
nextyear.setFullYear(nextyear.getFullYear() + 1);
59
} else {
60
nextyear.setFullYear(1970);
61
}
62
document.cookie = name + "@weather.qq.com" + "=" + value + "; expires=" + nextyear.toGMTString() + "; path=" + path;
63
}
64
65
function getredirect(v) {
66
setcookie('default_city', v, true, "/");
67
setcookie('default_city1', v, true, "/inc");
68
69
if (v=='') v=123;
70
window.location.href='http://weather.qq.com/inc/ss'+v+'.htm';
71
}
72
</script>
73
74
<select id="obSelect" onchange="getredirect(this.value)">
75
76
<option selected="selected" value="125">北京</option>
77
<option value="292">广州</option>
78
<option value="252">上海</option>
79
<option value="127">天津</option>
80
<option value="212">重庆</option>
81
<option value="115">沈阳</option>
82
<option value="244">南京</option>
83
<option value="211">武汉</option>
84
<option value="166">成都</option>
85
<option value="186">西安</option>
86
<option value="82">石家庄</option>
87
<option value="84">太原</option>
88
<option value="189">郑州</option>
89
<option value="103">长春</option>
90
<option value="17">哈尔滨</option>
91
<option value="69">呼和浩特</option>
92
<option value="140">济南</option>
93
<option value="248">合肥</option>
94
<option value="255">杭州</option>
95
<option value="276">福州</option>
96
<option value="287">厦门</option>
97
<option value="218">长沙</option>
98
<option value="296">深圳</option>
99
<option value="295">南宁</option>
100
<option value="232">桂林</option>
101
<option value="264">南昌</option>
102
<option value="227">贵阳</option>
103
<option value="1">香港</option>
104
<option value="2">澳门</option>
105
<option value="179">昆明</option>
106
<option value="280">台北</option>
107
<option value="150">拉萨</option>
108
<option value="303">海口</option>
109
<option value="57">兰州</option>
110
<option value="78">银川</option>
111
<option value="56">西宁</option>
112
<option value="28">乌鲁木齐</option>
113
114
</select>
115
<script>
116
117
var v=getcookie('default_city1');
118
var o=document.getElementById('obSelect');
119
if (v!= '') o.value=v;
120
121
</script>
122
</td>
123
<td width="16">市</td>
124
</tr>
125
<style type="text/css">2
body,table{font-size:12px;line-height:150%;}3
A.color4:link {COLOR: #DD7D02;TEXT-DECORATION: none}4
A.color4:visited { COLOR: #DD7D02;TEXT-DECORATION: none} 5
A.color4:active { COLOR: #DD7D02;TEXT-DECORATION: underline} 6
A.color4:hover { COLOR: #DD7D02;TEXT-DECORATION: underline}7
</style>8
<table width="189" border="0" cellspacing="0" cellpadding="0" align="center">9
<tr><td colspan="3"><img src="/images/r_t1.gif" width="189" height="35"></td></tr>10
<tr align="center"><td height="60" colspan="3"><table width="189" border="0" cellspacing="0" cellpadding="0" background="/images/r_tembg2.gif">11
<tr><td colspan="2"><img src="/images/r_tembg1.gif" width="189" height="6"></td></tr>12
<tr>13
<td height="23" width="72" align="center" background="/images/r_tembg4.gif" class="rb12">北京</td>14
<td height="23" width="117" background="/images/r_tembg5.gif" align="center">雷阵雨</td>15
</tr>16
<tr>17
<td height="23" align="center"><img src="/images/tem1.gif" width="57" height="13"></td>18
<td height="23" align="center">20℃~29℃19
</td>20
</tr>21
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>22
<tr>23
<td height="23" align="center"><img src="/images/tem2.gif" width="57" height="13"></td>24
<td height="23" align="center">无风向微风</td>25
</tr>26
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>27

28
<tr>29
<td height="23" align="center"><img src="/images/tem3.gif" width="57" height="13"></td>30
<td height="23" align="center">弱</td>31
</tr>32
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>33
<tr>34
<td height="23" align="center"><img src="/images/tem5.gif" width="57" height="13"></td>35
<td height="23" align="center">良</td>36
</tr>37

38
<tr><td colspan="2"><img src="/images/r_tembg3.gif" width="189" height="3"></td></tr>39
</table></td></tr>40
<tr>41
<td height="30" width="96"><img src="/images/r_b.gif" width="96" height="21"></td>42
<td width="88" align="center"><script>43
function getcookie(name) {44
var my_cookie = document.cookie;45
var start = my_cookie.indexOf(name + "@weather.qq.com" + "=");46
if (start == -1) return '';47
48
start += name.length + 16; //1 stands of '='49
50
var end = my_cookie.indexOf(";" ,start);51
if (end == -1) end = my_cookie.length;52
return my_cookie.substr(start, end - start);53
}54

55
function setcookie(name,value,open, path) {56
var nextyear = new Date();57
if (open) {58
nextyear.setFullYear(nextyear.getFullYear() + 1);59
} else {60
nextyear.setFullYear(1970);61
}62
document.cookie = name + "@weather.qq.com" + "=" + value + "; expires=" + nextyear.toGMTString() + "; path=" + path; 63
}64

65
function getredirect(v) {66
setcookie('default_city', v, true, "/");67
setcookie('default_city1', v, true, "/inc");68

69
if (v=='') v=123;70
window.location.href='http://weather.qq.com/inc/ss'+v+'.htm';71
}72
</script>73

74
<select id="obSelect" onchange="getredirect(this.value)">75

76
<option selected="selected" value="125">北京</option>77
<option value="292">广州</option>78
<option value="252">上海</option>79
<option value="127">天津</option>80
<option value="212">重庆</option>81
<option value="115">沈阳</option>82
<option value="244">南京</option>83
<option value="211">武汉</option>84
<option value="166">成都</option>85
<option value="186">西安</option>86
<option value="82">石家庄</option>87
<option value="84">太原</option>88
<option value="189">郑州</option>89
<option value="103">长春</option>90
<option value="17">哈尔滨</option>91
<option value="69">呼和浩特</option>92
<option value="140">济南</option>93
<option value="248">合肥</option>94
<option value="255">杭州</option>95
<option value="276">福州</option>96
<option value="287">厦门</option>97
<option value="218">长沙</option>98
<option value="296">深圳</option>99
<option value="295">南宁</option>100
<option value="232">桂林</option>101
<option value="264">南昌</option>102
<option value="227">贵阳</option>103
<option value="1">香港</option>104
<option value="2">澳门</option>105
<option value="179">昆明</option>106
<option value="280">台北</option>107
<option value="150">拉萨</option>108
<option value="303">海口</option>109
<option value="57">兰州</option>110
<option value="78">银川</option>111
<option value="56">西宁</option>112
<option value="28">乌鲁木齐</option>113

114
</select>115
<script>116

117
var v=getcookie('default_city1');118
var o=document.getElementById('obSelect');119
if (v!= '') o.value=v;120

121
</script>122
</td>123
<td width="16">市</td>124
</tr>125

temp=
1
<table width="189" border="0" cellspacing="0" cellpadding="0" align="center">
2
<tr><td colspan="3"><img src="/images/r_t1.gif" width="189" height="35"></td></tr>
3
<tr align="center"><td height="60" colspan="3"><table width="189" border="0" cellspacing="0" cellpadding="0" background="/images/r_tembg2.gif">
4
<tr><td colspan="2"><img src="/images/r_tembg1.gif" width="189" height="6"></td></tr>
5
<tr>
6
<td height="23" width="72" align="center" background="/images/r_tembg4.gif" class="rb12">北京</td>
7
<td height="23" width="117" background="/images/r_tembg5.gif" align="center">雷阵雨</td>
8
</tr>
9
<tr>
10
<td height="23" align="center"><img src="/images/tem1.gif" width="57" height="13"></td>
11
<td height="23" align="center">20℃~29℃
12
</td>
13
</tr>
14
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>
15
<tr>
16
<td height="23" align="center"><img src="/images/tem2.gif" width="57" height="13"></td>
17
<td height="23" align="center">无风向微风</td>
18
</tr>
19
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>
20
21
<tr>
22
<td height="23" align="center"><img src="/images/tem3.gif" width="57" height="13"></td>
23
<td height="23" align="center">弱</td>
24
</tr>
25
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>
26
<tr>
27
<td height="23" align="center"><img src="/images/tem5.gif" width="57" height="13"></td>
28
<td height="23" align="center">良</td>
29
</tr>
30
31
<tr><td colspan="2"><img src="/images/r_tembg3.gif" width="189" height="3"></td></tr>
32
</table></td></tr>
33
<tr>
34
<td height="30" width="96"><img src="/images/r_b.gif" width="96" height="21"></td>
35
<table width="189" border="0" cellspacing="0" cellpadding="0" align="center">2
<tr><td colspan="3"><img src="/images/r_t1.gif" width="189" height="35"></td></tr>3
<tr align="center"><td height="60" colspan="3"><table width="189" border="0" cellspacing="0" cellpadding="0" background="/images/r_tembg2.gif">4
<tr><td colspan="2"><img src="/images/r_tembg1.gif" width="189" height="6"></td></tr>5
<tr>6
<td height="23" width="72" align="center" background="/images/r_tembg4.gif" class="rb12">北京</td>7
<td height="23" width="117" background="/images/r_tembg5.gif" align="center">雷阵雨</td>8
</tr>9
<tr>10
<td height="23" align="center"><img src="/images/tem1.gif" width="57" height="13"></td>11
<td height="23" align="center">20℃~29℃12
</td>13
</tr>14
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>15
<tr>16
<td height="23" align="center"><img src="/images/tem2.gif" width="57" height="13"></td>17
<td height="23" align="center">无风向微风</td>18
</tr>19
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>20

21
<tr>22
<td height="23" align="center"><img src="/images/tem3.gif" width="57" height="13"></td>23
<td height="23" align="center">弱</td>24
</tr>25
<tr><td height="1" align="center" colspan="2" background="/images/line2.gif"></td></tr>26
<tr>27
<td height="23" align="center"><img src="/images/tem5.gif" width="57" height="13"></td>28
<td height="23" align="center">良</td>29
</tr>30

31
<tr><td colspan="2"><img src="/images/r_tembg3.gif" width="189" height="3"></td></tr>32
</table></td></tr>33
<tr>34
<td height="30" width="96"><img src="/images/r_b.gif" width="96" height="21"></td>35

参考源码:
https://files.cnblogs.com/Dlonghow/Source%20Code/AjaxSolution1.rar
