使用Javascript实现简单菜单效果

可以通过以下几个步骤来实现一个简单的菜单 :

1.将菜单(Menu)用一个表格行来表示,其中只有一个单元格,内容是菜单的名称 ,如:

 

Html代码 复制代码
  1. <TR>  
  2.          <TD id="td_0" align="middle" width="89%" bgColor=#1f65c2>  
  3.          <A href="javascript:Show(0)">基础数据管理</A>     
  4.         </TD>  
  5. </TR>   
<TR>
         <TD id="td_0" align="middle" width="89%" bgColor=#1f65c2>
         <A href="javascript:Show(0)">基础数据管理</A>  
        </TD>
</TR> 
 

这个地方给表示菜单的单元格也定义了一个ID,这个ID的定义是非常重要的,在整个页面中都是可见的,这样就可以通过ID来

指定其所代表元素的属性。单元格的内容是一个超连接,他指定一个javascript方法,响应点击此菜单后的事件 .

 

2.将此菜单下的所有菜单项紧跟在菜单后放在一个表格行中的仅有的一个单元格中,使用换行来将他们竖起排列

Html代码 复制代码
  1. <TR id=tr_0 style="DISPLAY: none;cursor:hand">  
  2.           <TD align="middle" bgColor="#4c84ce" height="50">  
  3.                <DIV align="center">  
  4.                               <A href="" >图书分类信息</A> <BR>  
  5.                               <A href="" >藏馆信息</A> <BR>  
  6.               </DIV>  
  7.         </TD>  
  8. </TR>  
<TR id=tr_0 style="DISPLAY: none;cursor:hand">
          <TD align="middle" bgColor="#4c84ce" height="50">
               <DIV align="center">
                              <A href="" >图书分类信息</A> <BR>
                              <A href="" >藏馆信息</A> <BR>
              </DIV>
        </TD>
</TR>
 

 

这个地方注意,为放置菜单项的这个表格行定义了一个ID,对菜单的展开与折叠将通过这个ID来控制,另外,菜单的初始状态是折叠的,即这一行不可见,所以使用了CSS代码 style="display:none"

 

3.第三步就是整个过程中的重点了,需要写一段js代码来处理菜单的点击事件

Js代码 复制代码
  1. <script>     
  2.           var classCount = 4; // 菜单大类的个数   
  3.       function Show(theId) {//参数为菜单的编号,从0开始    
  4.         theTr = eval("tr_" + theId);  //生成相应元素的在页面中的ID   
  5.               //通过此ID来设置相应元素的CSS属性   
  6.               //如果是折叠的,则展开之   
  7.         if (theTr.style.display == "none") {   
  8.             theTr.style.display = "block";   
  9.         }   
  10.               //否则折叠之   
  11.         else {   
  12.             theTr.style.display = "none";   
  13.         }   
  14.               //遍历关闭之前展开的菜单(对当前菜单不做处理)    
  15.         for (i = 0; i < classCount; i++) {   
  16.             if (i == theId)   
  17.                 continue;   
  18.             theTr = eval("tr_" + i);   
  19.             theTr.style.display = "none";   
  20.         }   
  21.       }   
  22. </script>  
<script>	
          var classCount = 4; // 菜单大类的个数
	  function Show(theId) {//参数为菜单的编号,从0开始 
	  	theTr = eval("tr_" + theId);  //生成相应元素的在页面中的ID
              //通过此ID来设置相应元素的CSS属性
              //如果是折叠的,则展开之
		if (theTr.style.display == "none") {
			theTr.style.display = "block";
		}
              //否则折叠之
		else {
			theTr.style.display = "none";
		}
              //遍历关闭之前展开的菜单(对当前菜单不做处理) 
		for (i = 0; i < classCount; i++) {
			if (i == theId)
				continue;
			theTr = eval("tr_" + i);
			theTr.style.display = "none";
		}
	  }
</script>
 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值