我的应用程序有一个垂直菜单。每个菜单都是一个链接按钮。这些链接按钮放置在一个 html表格单元格中 <td>
,我创建它们并将它们放置在后面的 ASP.NET 代码中。
为了创建一个菜单,menuCell.Controls.Add(newMenu);
当我单击具有 sumenus 的链接时,这显示在主链接按钮下方:
当我再次单击它时,子菜单必须隐藏,但它们所占据的位置一直留在那里。我用 jquery 来做:
function toggleSubMenu(smenu) {
$('.'+smenu').toggle();
}
看一下 Menu2 和 Menu 3 之间的空白区域。
所以主要目标是删除这个空间。是否有任何自动生成的 Asp.NET 占位符或容器?或者我是否必须使用 jQuery 手动上去 Menu3 和它下面的所有内容?
完整的 html 代码:MenuCell保留菜单。同样,每个菜单都是在 ASP.NET 代码后面创建和放置的。
<body MS_POSITIONING="Gridlayout">
<!-- Logo -->
<form id="Menu" method="post" runat="server">
<table id="mainTable" style="Z-INDEX: 101; LEFT: 0px; POSITION: absolute; TOP: 0px" tabIndex="-1" height="800" cellSpacing="0" cellPadding="0" border="0" runat="server" width="125px">
<tr align="left">
<td style="WIDTH: 125px" tabIndex="-1" vAlign="bottom" align="middle" colSpan="2" height="55"><IMG id="imgLogo" tabIndex="-1" height="50" width="50" align="middle" border="0" runat="server">
</td>
</tr>
<TR>
<TD style="WIDTH: 125px" vAlign="top" align="middle"></TD>
<TD vAlign="top" align="left" colSpan="1" rowSpan="2"><IMG id="imgLine" style="WIDTH: 1px" height="720" hspace="0" width="1" vspace="0" border="0" runat="server"></TD>
</TR>
<tr align="left">
<td id="menuCell" style="WIDTH: 125px" tabIndex="-1" vAlign="top" align="left" height="740" runat="server"></td>
</tr>
</table>
</form>
</body>
由于隐私政策,我无法放置整个呈现的代码,但每个菜单和子菜单链接都呈现<a>
为<td>
命名menuCell
:
渲染的代码是:
<td id="menuCell" style="WIDTH: 125px" tabIndex="-1" valign="top" align="left" height="740">
<a id="Menu1" style="width:124px;LEFT:1px;TOP:8px;POSITION:relative;">Menu1</a>
<br />
<a id="Menu6" style="width:124px;LEFT:1px;TOP:11px;POSITION:relative;">Menu6</a>
<br />