精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>xml教程>正文

利用ASP和XML制作菜单导航系统


来源:网页教学 时间:06-12-25 点击: 点击这里收藏本文


   //结束函数返回前一菜单项

   level -= 1;

  }
   如果能够找到子节点,则函数以当前节点为参数调用自己。每次函数调用自己都生成相应的数组和sMenuItem变量。当前菜单的名字通过变量currentMenu保存,并在thisMenu中保存一个新的名字,这使得程序可以方便地找出菜单项之间的层次关系,在后面的客户端脚本我们可以看到这一点。
   请仔细阅读walkTree()函数的结束部分。在前面代码中创建的arrayNamesArray数组用来保存菜单的名字,接下来变量tempString获取当前节点的所有数组信息并将它组织成为一个字符串,这个字符串被加入到另外一个名为arrayHolderArray的数组。数组arrayNamesArray的用途是保存菜单项的名字,把菜单项(及其下属的子菜单项)放入< DIV >区时需要用到这些名字,所有< DIV >区将参考arrayNamesArray的内容命名。数组arrayHolderArray保存所有那些将写入各个< DIV >区的信息,这些信息包括菜单项的名字、链接以及客户端脚本的事件信息。
   这些数组之间的关系初看起来有点复杂,仔细观察其实不难理解。walkTree函数利用这些数组在少量的代码之内完成了大量的工作。
   准备好上述数组之后,接下来就可以把< DIV >区以及它们的内容写入Web页面。下面的代码负责这部分工作(参见XMLcreateMenu_Dynamic.asp)。
 //翻转数组以便形成正确的< DIV >次序

 arrayHolderArray.reverse()

 arrayNamesArray.reverse()

 //遍历数组,输出< DIV >标记以及各个菜单项的代码

 for (i=0;i< arrayNamesArray.length;i++) {

  Response.Write("< div id='" + arrayNamesArray[i] + "' class='clsMenu' >");

  Response.Write(arrayHolderArray[i]);

  Response.Write("< /div >

");

 }
   为何要将数组的次序翻转一下呢?简而言之,它将简化我们以后的操作。翻转之后,程序输出的< DIV >区即以层次结构中的最前面子菜单到最后面子菜单为序;或者说,翻转数组之后保证各个< DIV >区在Z-轴方向上有正确的次序。如果你还是不能一下子领会,那么请看下图,这是在注释了两个reverse方法调用后的菜单效果:

   翻转数组之后,接着就输出< DIV >标记及其内容。如前所述,< DIV >区的名字由数组arrayNamesArray决定,< DIV >区的内容由数组arrayHolderArray决定。下面的代码是前面代码所输出< DIV >区的一个片断,其他< DIV >区也非常相似:
 < div id='menu1' class='clsMenu' >

   < span id="menu1_span1"

      class='cellOff'

      onMouseOver="stateChange('',this,'');hideDiv(1)"

      onMouseOut="stateChange('',this,'')"

      onClick="location.href='/default/default.asp'" >主页

   < /span >< br >

   < span id="menu1_span2"

      class='cellOff'

      onMouseOver="stateChange('menu1_2',this,1)"

      onMouseOut="stateChange('',this,'')" >

      < img align=right vspace=2 height=10

        width=10 border=0 src='images/tri.gif' >娱乐休闲

    < /span >< br >

 < /div >

XMLMenuScript.js文件包含了所有支持客户端菜单操作的JavaScript代码。在文件前面定义的变量可以用来定制菜单项在各种状态(选中或不选中)下的显示颜色,具体请参见XMLMenuScript.js中的说明。应当说明的是,在当前实现中,客户端脚本代码要求运行在IE 4或以上版本。如果你希望菜单同时能够支持Netscape浏览器,这部分代码要作相应的修改。
   当用户单击某个链接(如本文的“网站”)时菜单系统启动。启动菜单的HTML代码如下所示:
9 7 3 1 2 3 4 5 6 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.