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里,简单的菜单也可以用,方法一样的

C#遍历菜单项

(1)横向遍历  ToolStripMenuItem            foreach (ToolStripMenuItem con in this.MainMenuStrip.Items)   ...
  • xiaozhao_19
  • xiaozhao_19
  • 2010年09月13日 14:50
  • 1322

asp实现树形菜单

%数据库连接set conn=Server.CreateObject("ADODB.Connection")conn.open "driver={SQL Server};server=chaiwei;...
  • lvlingwy
  • lvlingwy
  • 2007年05月30日 13:53
  • 1353

asp简单的树形菜单,能从数据库读取类别

这种做法是把所有的数据都装载到数据集中,之后利用样式显示/隐藏来显示。没有什么效率可言,只是实现了树形菜单的这种效果 。我的数据库的类别是分3个表来保存的。 %@LANGUAGE="VBSCRIPT"...
  • zdyguilong
  • zdyguilong
  • 2007年05月31日 16:26
  • 1715

[ASP开发]在Web项目中多维下拉菜单的实现技巧和方法

(http://zhengyaohua.blogchina.com/blog/1084250.html)【摘要】对于web项目中下拉菜单的设计,尤其涉及到复杂的多维菜单,许多web开发的入门者往往不知...
  • chnechen
  • chnechen
  • 2005年04月30日 17:21
  • 2065

一个用纯ASP写的左侧下拉菜单

Menu.aspBODY { FONT-FAMILY: 宋体; FONT-SIZE: 8pt; SCROLLBAR-HIGHLIGHT-COLOR: buttonface; SCROLLBAR-SHA...
  • programpoet
  • programpoet
  • 2007年06月13日 09:51
  • 3315

目录树(树形菜单)操作网站的完整源码,有后台管理,仿照无忧视窗

  • 2008年09月20日 18:18
  • 609KB
  • 下载

ASP树形菜单2

  • 2007年07月03日 21:30
  • 13KB
  • 下载

无限级别树形结构类别编辑ASP+ACCESS完美版

  • 2011年12月20日 15:23
  • 160KB
  • 下载

asp.net 经典树形菜单

  • 2008年10月09日 10:38
  • 32KB
  • 下载

ASP.NET的面包屑导航控件、树形导航控件、菜单控件

ASP.NET的面包屑导航控件、树形导航控件、菜单控件。 1、 面包屑导航控件——SiteMapPath控件 SiteMapPath控件可以为站点提供“面包屑导航”的功能。 1.1 ...
  • u010075060
  • u010075060
  • 2015年04月23日 18:19
  • 2484
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP中实现树状菜单
举报原因:
原因补充:

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