zoukankan      html  css  js  c++  java
  • 免费天气预报插件jquery版本

    天气信息来源:中国天气网【weather.com.cn】
    根据QQ[http://fw.qq.com:80/ipaddress]得到ip地址和所在城市信息,
    然后调用weather.com.cn网站的xml得到城市代码,就可以得到JSON格式的天气信息
    setWeather函数可以自行修改生成您想要的天气信息格式

    有些兄弟说不好用可能是没有仔细看,我重新整理一下:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title></title>
    </head>
    <body>
    <script language="javascript" src="jquery.js"></script>
    <script language='javascript' src='jquery.cookie.js'></script>
    <script language='javascript' src='weather.js'></script>
    <div align="center">
    	<span id='jsCity'> </span>
    	<span id='jsWeather'> </span>
    </div>
    </body>
    </html>
    



    Weather.js文件内容如下:

    /*
    '**********************************************
    ' 文件名: 免费天气插件jquery版本
    ' 日期:  2010年07月01日
    ' 声明:  
    '   本代码可以自由使用,但请保留此版权声明信息
    '   如果您对本代码进行修改增强,
    '   请发送一份给俺。
    '**********************************************
    */
    
    //jsCity、jsWeather为您html中的元素ID
    function setWeather(tID,tCity,tTip,tWendu,tFengli)
    {
     $("#jsCity").html("<a href='http://www.weather.com.cn/html/weather/"+tID+".shtml' target=_bank>"+tCity+"</a>");
     $("#jsWeather").html(tTip+" "+tWendu);
    }
    
    var cityid,city1,city2,weaXML,weaHTML
    weaXML = "http://service.weather.com.cn/plugin/"
    weaHTML = "http://m.weather.com.cn/data/"
    $().ready(function() {
     cityid = $.cookie('wea_cityid');
     if(cityid==null){
      LoadJS("http://fw.qq.com:80/ipaddress", function()
      {
       if (typeof IPData != "undefined")
       {
        city1 = IPData[2];
        city2 = IPData[3];
        city1 = city1.replace("省","")
        city1 = city1.replace("市","");
        if(city2=="") city2 = city1;
        $.cookie('wea_cityip', IPData[0]);
        getLocalCity("data/city.xml",0);
       }
      });
     }
     else{
      getWeather(cityid);
     }
    });
    function getLocalCity(turl,b)
    {
     $.ajax({
        type: "GET",
        url: weaXML+turl,
        dataType: "text",
        success: function(msg){
       var cityArr = msg.split(",");
       for(var i=0;i <cityArr.length;i++){
        cid = cityArr[i].split("|")[0];
        if(b<3){
         if(cityArr[i].split("|")[1]==city1 || cityArr[i].split("|")[1]==city2){
          getLocalCity("data/city"+ cid +".xml",b+1);
          break;
         }
        }
        else{
         cid = cityArr[i].split("|")[1];
         getWeather(cid);
         break;
        }
       }
        }
     });
    }
    function getWeather(cid)
    {
     $.cookie('wea_cityid', cid,{expires: 365});
     var weajs = weaHTML+cid+'.html';
     $.getJSON(
      weajs,
      function(objJson){
       var cityname=objJson.weatherinfo.city;  //上海
       var id=objJson.weatherinfo.cityid;   //101020100 
       var cityinfo1=objJson.weatherinfo.weather1; //晴转多云
       var cityinfo2=objJson.weatherinfo.weather2;
       var wd1=objJson.weatherinfo.wind1;   //北风3-4级
       var wd2=objJson.weatherinfo.wind2;
       var fl1=objJson.weatherinfo.fl1;   //3-4级
       var fl2=objJson.weatherinfo.fl2;
       var temp1=objJson.weatherinfo.temp1;  //4℃~-1℃
       var temp2=objJson.weatherinfo.temp2;
       var img1=objJson.weatherinfo.img1;
       var img2=objJson.weatherinfo.img2;
       var img3=objJson.weatherinfo.img3;
       var img4=objJson.weatherinfo.img4;
       var index=objJson.weatherinfo.index;
       var index_d=objJson.weatherinfo.index_d;
       var index_xc=objJson.weatherinfo.index_xc;
       var index_uv=objJson.weatherinfo.index_uv;
       var date=objJson.weatherinfo.date;
       var date_y=objJson.weatherinfo.date_y;
       var imgtitle1=objJson.weatherinfo.img_title1;
       var imgtitle2=objJson.weatherinfo.img_title2;
       var imgsingle=objJson.weatherinfo.img_single;
       var imgtitlesingle=objJson.weatherinfo.img_title_single;
       
       setWeather(id,cityname,cityinfo1,temp1,wd1)
     }); 
    }
    function LoadJS(jsUrl,fCallBack)
    {
     var _script = document.createElement('script');
     _script.setAttribute('type', 'text/javascript');
     _script.setAttribute('charset', 'gb2312');
     _script.setAttribute('src', jsUrl);
     document.getElementsByTagName('head')[0].appendChild(_script);
     if(typeof fCallBack != "undefined")
     {
      if ($.browser.msie)
      {
       _script.onreadystatechange = function()
       {
        if (this.readyState=='loaded' || this.readyState=='complete')
        {fCallBack();}
       };
      }
      else if ($.browser.mozilla)
      {
       _script.onload = function(){fCallBack();};
      }
      else
      {
       fCallBack();
      }
     }
    }
    最后注意事项:需要用到jquery cookie的插件,此插件很多地方有用到。
    Author:winbeanye
    Date:2010-07-09
    MyWebSite:http://www.5ujd.net
  • 相关阅读:
    20145229 《信息安全系统设计基础》第1周学习总结
    20145229吴姗珊 《信息安全系统设计基础》第0周学习总结
    20145229吴姗珊 《Java程序设计》课程总结
    20145229 《Java程序设计》第10周学习总结
    20145229吴姗珊第五次实验报告
    20145229《Java程序设计》第四次实验报告
    20145229吴姗珊 《Java程序设计》第9周总结
    20145229实验三实验报告——敏捷开发与XP实践
    20145229吴姗珊 《Java程序设计》第8周学习总结
    20145229吴姗珊 《Java程序设计》2天小总结
  • 原文地址:https://www.cnblogs.com/naoguazi/p/1774166.html
Copyright © 2011-2022 走看看