树形菜单Demo

这篇博客展示了如何使用HTML、CSS和JavaScript创建一个交互式的树形菜单。HTML部分包括`<ul>`和`<li>`元素来构建菜单结构,JavaScript处理菜单的展开和收缩事件,而CSS用于样式设计,如背景颜色、边框和链接样式。这个菜单适用于网页应用的导航,允许用户方便地访问不同层级的子菜单项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

menu.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
   + request.getServerName() + ":" + request.getServerPort()
   + path + "/";
%>
<html>
 <link rel="stylesheet" type="text/css" href="<%=basePath%>css/menu.css">
 <head>
  <title>树形菜单</title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 </head>
<body class="panel" topmargin="0" leftmargin="0">
<div id="body" style="width: 200px"><!-- OA树开始-->
<ul id="menu">
 <li class="L1"><a href="javascript:c(m01);" id="m01"><span><img
  src="<%=basePath%>images/ico/2.gif" align="absMiddle" /> 客户关系管理系统</span> </a></li>
 <ul id="m01d" style="display: none;" class="U1">
  <li class="L21"><a href="javascript:c(f01);" id="f01"><span><img
   src="<%=basePath%>images/ico/2.gif" align="absMiddle" /> 文件管理</span> </a></li>
  <ul id="f01d" style="display: none;">
   <li class="L3"><a href="fileList.action" target="mainRight"><span><img
    src="<%=basePath%>images/ico/2.gif" align="absMiddle" />文件列表</span> </a></li>
   <li class="L3"><a href="toUploadJsp.action" target="mainRight"><span><img
    src="<%=basePath%>images/ico/2.gif" align="absMiddle" />文件上传</span> </a></li>
  </ul>
  <li class="L21"><a href="javascript:c(f02);" id="f02"><span><img
   src="<%=basePath%>images/ico/2.gif" align="absMiddle" />111111</span> </a></li>
  <ul id="f02d" style="display: none;">
   <li class="L3"><a href="" target="mainRight"><span><img
    src="<%=basePath%>images/ico/2.gif" align="absMiddle" />000001</span> </a></li>
   <li class="L3"><a href="" target="mainRight"><span><img
    src="<%=basePath%>images/ico/2.gif" align="absMiddle" />000002</span> </a></li>
   <li class="L3"><a href="" target="mainRight"><span><img
    src="<%=basePath%>images/ico/2.gif" align="absMiddle" />000003</span> </a></li>
   <li class="L3"><a href="" target="mainRight"><span><img
    src="<%=basePath%>images/ico/2.gif" align="absMiddle" />000004</span> </a></li>
   <li class="L3"><a href="" target="mainRight"><span><img
    src="<%=basePath%>images/ico/2.gif" align="absMiddle" />000005</span> </a></li>
  </ul>
 </ul>
</ul>
</div>
<div id="bottom"></div>
<script type="text/javascript" src="<%=basePath%>js/menu.js"></script>
</body>
</html>

menu.js:

var cur_id = "";
var flag = 0, sflag = 0;
//-------- 菜单点击事件 -------
function c(srcelement) {
 var targetid, srcelement, targetelement;
 var strbuf;

 //-------- 如果点击了展开或收缩按钮---------
 targetid = srcelement.id + "d";
 targetelement = document.getElementById(targetid);

 

Java漂亮的树形菜单制作实例(源码),森林状的关系图,文本域,用于显示点击的节点名称,使用了JTree,可以看作是一个jTree的用法演示实例。树形菜单应用广泛,这个Tree制作漂亮,相信会让很多朋友从中学习到实现的方法,效果如演示截图所示。下面是相关的代码片段:   DefaultMutableTreeNode root = new DefaultMutableTreeNode("设置"); //生成根节点   DefaultMutableTreeNode node1=new DefaultMutableTreeNode("常规"); //生成节点一   node1.add(new DefaultMutableTreeNode("默认路径")); //增加新节点到节点一上   node1.add(new DefaultMutableTreeNode("保存选项"));   root.add(node1); //增加节点一到根节点上   root.add(new DefaultMutableTreeNode("界面"));   root.add(new DefaultMutableTreeNode("提示声音"));   root.add(new DefaultMutableTreeNode("打印"));   JTree tree = new JTree(root); //得到JTree的实例   DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree.getCellRenderer(); //得到JTree的Renderer   renderer.setLeafIcon(null); //设置叶子节点图标为空   renderer.setClosedIcon(null); //设置关闭节点的图标为空   renderer.setOpenIcon(null); //设置打开节点的图标为空   tree.addTreeSelectionListener(new TreeSelectionListener() {//选择节点的事件处理   public void valueChanged(TreeSelectionEvent evt) {   TreePath path = evt.getPath(); //得到选择路径   String info=path.getLastPathComponent().toString(); //得到选择的节点名称   jtfInfo.setText(info); //在文本域中显示名称   }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值