<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Menu Test </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language=JavaScript>
function showmenu(strID){
var i;
for(i=0;i<=2;i++){
var lay;
lay = eval('lay' + i);
if (lay.style.display=="block" && lay!=eval(strID)){
lay.style.display = "none";
}
}
if (strID.style.display=="none"){
strID.style.display = "block";
}else{
strID.style.display = "none";
}
}
</script>
</HEAD>
<BODY>
<table width="174">
<tr>
<td bgcolor="#99CCFF"><a href="javascript:showmenu(lay0)" >Language</a></td>
</tr>
<tr id='lay0' style="display:none;">
<td><table width="100%" border="0" cellspacing="0">
<tr>
<td width="12%"> </td>
<td width="88%"><a href="" target="_blank">PHP</a></td>
</tr>
<tr>
<td> </td>
<td><a href="#" target="_blank">JAVA</a></td>
</tr>
<tr>
<td> </td>
<td><a href="" target="_blank">C++</a></td>
</tr>
<tr>
<td> </td>
<td><a href="" target="_blank">C#</a></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#99CCFF"><a href="javascript:showmenu(lay1)" >FLASH</a></td>
</tr>
<tr id='lay1' style="display:none;">
<td><table width="100%" border="0" cellspacing="0">
<tr>
<td width="11%"> </td>
<td width="89%"><a href="" target="_blank">FLASH - 1</a></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#99CCFF"><a href="javascript:showmenu(lay2)" >PS</a></td>
</tr>
<tr id='lay2' style="display:none;">
<td><table width="100%" border="0" cellspacing="0">
<tr>
<td> </td>
<td><a href="Teach_Dr.asp?owen1=xxx&owen2=Photoshop">Photoshop</a></td>
</tr>
<tr>
<td> </td>
<td><a href="Teach_Dr.asp?owen1=xx&owen2=<a href="http://www.csdn.net" target="_blank">
<font color=red>Fireworks</font></a>"><a href="http://www.baidu.com" target="_blank">
<font color=red>Fireworks</font></a></a></td>
</tr>
<tr>
<td> </td>
<td><a href="" target="_blank">CorelDraw</a></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</BODY>
</HTML>
-------------------------------------------------------------------------------------------------------------
可以传递一个表示menu数量的参数cnt
function showmenu(strID,cnt){
var i;
for(i=0;i<=cnt;i++){
var lay;
lay = eval('lay' + i);
if (lay.style.display == "block" && lay != eval(strID)){
lay.style.display = "none";
}
}
if (strID.style.display == "none"){
strID.style.display = "block";
}else{
strID.style.display = "none";
}
}
------------------------------------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<ul>
<!-- menuList为action中的一个List属性(Struts2) -->
<s:iterator value="menuList" status="stat">
<li>
<span>
<a href="javascript:showmenu(lay<s:property value="#stat.index"/>,
<s:property value="menuList.size()-1"/>)" >
<s:property value="menu" />
</a>
</span>
<ul id="lay<s:property value="#stat.index"/>" style="display:none;" >
<s:iterator value="childMenu">
<li>
<a target="_self" href="<s:property value="actionPath"/>">
<s:property value="childMenuName" />
</a>
</li>
</s:iterator>
</ul>
</li>
</s:iterator>
</ul>