gpt4 book ai didi

asp.net - 如何确保在单击 sun-menu 时顶级菜单项的 CSS 类已选中?

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:04 28 4
gpt4 key购买 nike

我在一个页面上有两个 ASP.NET 4.0 菜单控件用于选项卡和子选项卡 & 一个树控件用于左侧导航 .

我正在使用选定的 CSS 类来确保选定的标签/子标签/导航不同的颜色

每当我选择这些控件的元素之一时,选择的 CSS 应用于它但父选择状态丢失

如何确保顶级菜单项在查看子页面时选择了 CSS 类

主菜单:

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" />

<asp:Menu ID="mainMenu" runat="server" Orientation="Horizontal"
MaximumDynamicDisplayLevels="0" RenderingMode="Table"
DataSourceID="SiteMapDataSource1"
ViewStateMode="Enabled">
<StaticMenuStyle CssClass="menu"/>
<StaticMenuItemStyle CssClass="menuItem"/>
<StaticSelectedStyle CssClass="menuSelectedItem"/>
</asp:Menu>

子菜单:

<asp:SiteMapDataSource ID="SiteMapDataSource2" runat="server" ShowStartingNode="false"     StartingNodeOffset="1"/>

<asp:Menu ID="Menu1" runat="server" Orientation="Horizontal"
MaximumDynamicDisplayLevels="0" RenderingMode="Table"
DataSourceID="SiteMapDataSource2"
ViewStateMode="Enabled">
<StaticMenuStyle CssClass="menu"/>
<StaticMenuItemStyle CssClass="menuItem"/>
<StaticSelectedStyle CssClass="menuSelectedItem"/>
</asp:Menu>

左侧导航:

<asp:SiteMapDataSource ID="SiteMapDataSource3" runat="server" ShowStartingNode="false" 
StartingNodeOffset="2" />

<asp:TreeView ID="TreeView1" runat="server"
DataSourceID="SiteMapDataSource3"
ExpandDepth="2" NodeIndent="0">
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle ForeColor="#5555DD" />
<SelectedNodeStyle BackColor="GhostWhite"/>
<NodeStyle BackColor="LightSteelBlue"/>
</asp:TreeView>

CSS:

.menu
{
background-color: black;
font-size: 12px;
font-family: Arial;
font-weight: bold;
}
.menuItem td
{
height: 24px;
width: 120px;
background: url(Images/unselectedTab.jpg) no-repeat;
text-align: center;
vertical-align: middle;
}

.menuSelectedItem td
{
height: 24px;
width: 120px;
background: url(Images/selectedTab.jpg) no-repeat;
text-align:center;
vertical-align:middle;
}

最佳答案

没有阅读您的代码,但根据我的说法,如果您想保留所选的父菜单项,那么您将必须检查您的代码以确保它没有被删除。在您的脚本中可能有一些代码,例如 -

$(this).parent().removeClass("selected");

注释此行(如果存在)并检查它是否有效。如果没有这样的东西,那么你将不得不申请如下类(class) -

$(this).parent().addClass("selected");

上面的两行代码,你会在点击菜单时调用的函数中找到。

关于asp.net - 如何确保在单击 sun-menu 时顶级菜单项的 CSS 类已选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11009647/

28 4 0