使用JS收起和弹出树菜单

在我的一个项目中,本人使用了一批可以收起并弹出的树菜单,这里拿出来和大家交流一下.

这里主要运用了Ul,li实现树菜单和JavaScript的动态修改节点风格的方法.

没有什么多说的了,直接列出代码吧,凡是我觉得比较重要的地方都给加重了一下.

<script language=javascript>
  function expandShrinkCaseFromMe(){
    // 用户点击的图片单元格
    var elm=document.getElementById('expandShrinkCaseFromMeImg');
   
    // 用户点击的图片
    var images=elm.getElementsByTagName("IMG");
   
    // 数据树
    var datumTree=document.getElementById('expandShrinkCaseFromMeTree');
   
    if(images[0].src.indexOf("allExpand")!=-1){
      // 展开树
      images[0].src='../images/allShrink.jpg';
      datumTree.style.display="block";
    }
    else{
      // 收起树
      images[0].src='../images/allExpand.jpg';
      datumTree.style.display="none";
    }
  }
  //οnmοuseοver="this.style.border='1'" οnmοuseοut="this.style.border='0'" 
</script>

<TABLE border="0" width="100%" height="100%" cellpadding="0" cellspacing="0" bgcolor="#ccccd4">
  <TR height=20> 
    <TD bgcolor="#ccccd4" align=left valign=center>
      <TABLE border="0" width="100%" height=100%  align=left valign=center>
        <tr>
          <td align=right><img width=1></td>
          <td align=left><html:link page="/EnterProjectPageAction.do?Action=casefromme"><B>我提出的任务</B></html:link></td>
   <%--点击的处理在此--%>
          <td align=right id="expandShrinkCaseFromMeImg" width=16 align=center valign=center><IMG src="../images/allShrink.jpg" οnclick="expandShrinkCaseFromMe()"></td>         
        </tr>
      </TABLE>
    </TD>
  </TR>
 
  <TR>
    <TD bgcolor="#f2f3f7">
      <%--菜单在此--%>
      <ul class="tree" id="expandShrinkCaseFromMeTree" style="display:block">            
        <logic:iterate indexId="index" id="element" name="CaseFromMe"> 
          <li>
            <bean:define id="Id" name="element" property="id"/>        
            &nbsp;&nbsp;&nbsp;<IMG src="../images/arrow.gif">
            <html:link page="/EnterHandleProjectAction.do?Action=enter" paramId="Id" paramName="Id">
              <bean:write name="element" property="title"/>
            </html:link> 
          </li>      
        </logic:iterate>
      </ul>  
    </TD>
  </TR>
</TABLE>

为帮助理解,贴上展开和收起的效果图:
展开效果图:

http://foto.yculblog.com/junglesong/expand.jpg
收起效果图:
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在HTML中创建一个左侧弹出菜单,你可以使用CSS和JavaScript来实现。下面是一种常见的方法: 1. 首先,在HTML文件的<head>标签中引入所需的CSS和JavaScript文件。这些文件可以是自己编写的,也可以是从外部资源中引入的。例如: ```html <head> <link rel="stylesheet" href="styles.css"> <script src="script.js"></script> </head> ``` 2. 在HTML文件的<body>标签中创建一个包含菜单的容器元素。例如,可以使用一个<div>元素作为容器: ```html <body> <div id="menuContainer"> <!-- 菜单内容 --> </div> </body> ``` 3. 使用CSS来设置菜单容器的样式,使其位于页面的左侧并具有弹出的效果。可以使用绝对定位和过渡属性来实现这个效果。例如,可以使用以下样式: ```css #menuContainer { position: absolute; left: -200px; /* 将菜单容器移出页面左侧 */ top: 0; width: 200px; height: 100%; background-color: #f1f1f1; transition: left 0.3s; /* 使用过渡属性实现动画效果 */ } ``` 4. 使用JavaScript来控制菜单弹出收起。可以为菜单容器添加一个点击事件,当点击时切换菜单容器的左偏移量来实现弹出收起的效果。例如,可以使用以下JavaScript代码: ```javascript var menuContainer = document.getElementById("menuContainer"); menuContainer.addEventListener("click", function() { if (menuContainer.style.left === "-200px") { menuContainer.style.left = "0"; // 弹出菜单 } else { menuContainer.style.left = "-200px"; // 收起菜单 } }); ``` 5. 最后,为菜单容器添加所需的菜单项。可以使用<ul>和<li>元素来创建一个有序列表,并将其作为菜单容器的子元素。例如: ```html <div id="menuContainer"> <ul> <li>菜单项1</li> <li>菜单项2</li> <li>菜单项3</li> </ul> </div> ``` 这样,当点击菜单容器时,菜单将从左侧弹出收起。你可以根据自己的需求进一步自定义菜单的样式和内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值