ASP中实现树状菜单

原创 2006年05月17日 15:52:00

在<head></head>中加 定义菜单的函数

<script language="javascript">
function Tree()  //树状菜单对象
{
  this.start=function()  //菜单开始,bTop表示是否为最外层。
  {
    document.writeln("<table cellpadding=1 cellspacing=0>");
  }

  this.end=function()  //菜单结束
  {
    document.writeln("</table>");
  }

  this.addItem=function(cText,cLink,bChild,bShow)  //为菜单增加项,参数依次为:菜单文字、菜单链接、是否有子菜单、子菜单是否显示。
  {
    document.writeln("<tr><td><nobr><span class=menu_icon"+(bChild?" onclick=menuChange(this)":"")+">"
    +(bChild?(bShow?"-":"+"):"·")+"</span><span class=menu_space> </span><a href="+cLink+" target=/"mainFrame/">"+cText+"</a></nobr></td></tr>");
  }
 
  this.childStart=function(bShow)  //子选项开始,bShow为是否显示
  {
    document.writeln("<tr style='display:"+(bShow?"block":"none")+"'><td>");
    document.writeln("<table cellpadding=1 cellspacing=0 style='margin-left:12px;'>");
  }

  this.childEnd=function()  //子选项结束
  {
    document.writeln("</table>");
    document.writeln("</td></tr>"); 
  }
}

function menuChange(obj)  //控制菜单显示/隐藏
{
  obj=obj.parentNode.parentNode.parentNode;
  obj.nextSibling.style.display=(obj.nextSibling.style.display=='none'?'block':'none');
  obj.cells[0].childNodes[0].childNodes[0].innerText=(obj.nextSibling.style.display=='none'?'+':'-')
}
</script>

然后在<body></body>中需要加入菜单的地方加入菜单实例,如下例子;

<script language="javascript">
//菜单实例
var cmsTree=new Tree();
cmsTree.start();
cmsTree.addItem("修改个人资料","personalright.asp",1,0);  //后面两个参数分别表示是否有子菜单、子菜单是否显示

  cmsTree.childStart(0);  //注意这个参数与上面最后一个参数是一致的
  cmsTree.addItem("基本信息","modpersonal.asp",0);
  cmsTree.addItem("教育程度","educate.asp",0);
  cmsTree.addItem("联系方式","linkkind.asp",0);
  cmsTree.addItem("基本技能","personalart.asp",0);
  cmsTree.addItem("个人自述","personalsynopsis.asp",0);
  cmsTree.addItem("工作技能及特长","personalworkart.asp",0);
  cmsTree.addItem("个人简历","career.asp",0)
  cmsTree.addItem("学历教育或培训经历","studysuffer.asp",0);
  cmsTree.childEnd();

 cmsTree.addItem("工作意向","personalright.asp",1,0)  //后面两个参数分别表示是否有子菜单,子菜单是否显示
  cmsTree.childStart(1);  //注意这个参数与上面最后一个参数是一致的
  cmsTree.addItem("职业,月薪,要求地区","personaljob.asp",0);
  cmsTree.childEnd();
 
cmsTree.addItem("工作机会","personalright.asp",1,0);
  cmsTree.childStart(0);  //注意这个参数与上面最后一个参数是一致的
  cmsTree.addItem("企业招聘信息","business.asp",0);

  cmsTree.childEnd();

cmsTree.addItem("帮助","help.asp",0);
cmsTree.addItem("退出","loginout.asp",0);
cmsTree.end();
</script>

 

注:在.net里,简单的菜单也可以用,方法一样的

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

asp.net 树TreeView 默认展开二级菜单

在数据绑定之后进行 foreach (TreeNode item in TreeViewTest.Nodes) { item.Expanded = true; }

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Spring MVC 学习笔记4 ——Controller 与 View 互相传值

Spring MVC 传值(一) 1. 从视图传值给Controller Internal View Resolver 方法, 通过函数的参数来传递。 在HelloController.ja...
  • sonictl
  • sonictl
  • 2014年10月28日 14:25
  • 1726

将Controller中的数据传递到View中显示

如何将Controller 中的数据传送到View 步骤: (1)要有数据,如果要用到对象可以在Model 中定义对应的类 (2)要有装数据的容器: System.Text.StringBuil...
  • lzz360
  • lzz360
  • 2013年09月21日 09:51
  • 6326

树状菜单实现

  • 2015年01月30日 09:42
  • 12KB
  • 下载

【工作笔记】从零开始学ExtJs6( 四)—— 首页树状菜单和Tab页的实现

题外话 做一个项目要向完成对应的模块,肯定是先要有树形菜单结构,点击对应才dna跳转到相应界面,在extjs中如何实现。是上周遇到的一个小问题,现在做做记录app目录下创建data/menuDat...

jquery学习笔记(四)-----jquery实现二级树状菜单

jquery二级树形菜单

android 从xml文件读取数据初始化,并实现无分级的树状菜单的显示

1.树状菜单的实现原理(借鉴网上一哥们的代码,同时解决了代码中存在的小问题):       使用ListView模仿树状菜单,如果某个节点存在父节点,在节点展开的时候就相应的设置与其节点深度有关的缩...
  • nyjsl
  • nyjsl
  • 2012年05月09日 14:23
  • 2510
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP中实现树状菜单
举报原因:
原因补充:

(最多只允许输入30个字)