js日历读取xml:(二)js日历读取xml,并加链接地址

结合一个日历的js,最终的效果就是
日历效果图

其实里面就一个主要的JS,从156行开始,具体有很多些代码是从网上找到,然后修改修改。

//读取xml
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var xhai_xml,DayTime,TdOnclick, IsLink;
var NodwsI, zc, Calendar_Date,Calendar_ID,Calendar_Title;
xhai_xml = new ActiveXObject("Microsoft.XMLDOM");

//异步处理
xhai_xml.async=false;

//读取不同年份的xml,由于xml在一个文件内会循环过慢,所以这里可以读取不同的xml文件,以便加快速度
xhai_xml.load("Calendar_"+The_Year+".xml")
if(xhai_xml.readyState==4)
{
  if(xhai_xml.parseError.errorCode==0)
  {
    //统计有多少ZID,其他的和ZID一样多
    NodwsI=xhai_xml.documentElement.selectNodes("//ZID").length;
  }
}

for (i=1; i<=Firstday; i++)
showstr += "<Td align=center class='FontGray'></Td>";


for (i=1; i<=Month_Day; i++)
{
  if ((The_Year==today.getYear()) && (The_Month==today.getMonth()+1) && (i==today.getDate()))
    TClassName = "Calendar_Today";
  else
    TClassName = "Calendar_NormalDay";

if (The_Day==i) TClassName = "Calendar_Today";
  DayTime=The_Year+"-"+The_Month+"-"+i;

//判断得到不同的日期
//
IsLink="no";
for ( zc =0; zc<NodwsI; zc++)
{
  //读取xml中不同节点的内容
  Calendar_Date = xhai_xml.documentElement.selectNodes("ZDate")(zc).text;
  Calendar_Title = xhai_xml.documentElement.selectNodes("ZTitle")(zc).text;
  Calendar_ID = xhai_xml.documentElement.selectNodes("ZID")(zc).text;
  Calendar_CatName = xhai_xml.documentElement.selectNodes("ZCatName")(zc).text;
  Calendar_Time = xhai_xml.documentElement.selectNodes("ZTime")(zc).text;

//这里判断日期和文章日期相同,所以在生成的时候ZDate字段一定要是标准格式[2008-1-1]这样的
if (DayTime==Calendar_Date)
{
  TClassName="Calendar_Selectday";
  showstr += "<td align=center class='Calendar_day' ><div class='"+TClassName+"'><a target=_blank   href='http://www.zhangbaozz.com/html/"+Calendar_CatName+"/"+Calendar_Time+"/"+Calendar_ID+".html' title='"+Calendar_Title+"'>" +i+ "</a></div></td>";
  IsLink="yes"
}
//else
//{
  // TClassName="#f0f0f0";
//}
}

if(IsLink!="yes")
{
  showstr += "<td align=center class='Calendar_day' ><div class='"+TClassName+"'>" +i+ "</div></td>";
}

如何生成xml请看下一步的文章:《生成xml

整个例子的最终效果:js日历读取xml在线浏览

整个例子的完整版打包下载:js日历读取xml下载包

本人也是刚刚学习,并没深入,怕忘记了,记录下来,如有不懂,可以在我blog里面留言,或者加我QQ,互相学习。
Blog: 崩溃 http://www.zhangbaozz.com
QQ:273167618

欢迎大家光里[崩溃]



如果你觉得对你有帮助,或者从中受到启发,或者无聊,赞助俺一下,大家2009一起发大财,哈哈哈哈!!!!!!!!