gpt4 book ai didi

javascript - 悬停样式应在多级菜单动态加载时保持 onclick

转载 作者:行者123 更新时间:2023-11-28 11:53:54 25 4
gpt4 key购买 nike

我使用下面的脚本创建了具有大量自定义的多级 megamenu。

下面是相同的 JsFiddle 链接。

WORKING FIDDLE LINK

下面是相同的 CSS 代码。

/* ######### Drop Down DIVs CSS ######### */


.ddsubmenustyle, .ddsubmenustyle div{ /*topmost and sub DIVs, respectively*/
font: normal 13px Verdana;
margin: 0;
padding: 0;
position: absolute;
left: 0;
top: 0;
list-style-type: none;
background: transparent;
border:none;
border-left: 2px solid #ffffff;
border-bottom-width: 0;
visibility: hidden;
z-index: 100;
}

.ddsubmenustyle ul{
margin: 0;
padding: 0;
position: absolute;
left: 0;
top: 0;
list-style-type: none;
border: 0px none;
}

.ddsubmenustyle li a{
display: block;
width: 170px; /*width of menu (not including side paddings)*/
color: #09519b;
background-color: #d6d6d6;
text-decoration: none;
padding: 8px 0px 8px 13px;

}

* html .ddsubmenustyle li{ /*IE6 CSS hack*/
display: inline-block;
width: 170px; /*width of menu (include side paddings of LI A*/
}

.ddsubmenustyle li a:hover{
font-weight:bold;
background-color:#bfbfbf;
}

/* ######### Neutral CSS ######### */

.downarrowpointer{ /*CSS for "down" arrow image added to top menu items*/
padding-left: 4px;
border: 0;
}

.rightarrowpointer{ /*CSS for "right" arrow image added to drop down menu items*/
position: absolute;
padding-top: 3px;
left: 100px;
border: 0;
}

/* ######### Marker List Vertical Menu ######### */

.markermenu{
width: 175px; /*width of side bar menu*/
clear: left;
/*position: relative;*/ /*Preserve this for "right" arrow images (added by script) to be positioned correctly*/
position: absolute;
top:136px;

}

.markermenu ul{
list-style-type: none;
margin: 56px 0 0 0;
padding: 0;
/*border: 1px solid #9A9A9A;*/
}

.markermenu ul li a{
background: #d6d6d6; /*light gray background*/
color: #09519b !important;
display: block;
width: auto;
padding: 8px 0;
padding-left: 13px;
text-decoration: none;
/*border-bottom: 1px solid #B5B5B5;*/
}

.topRound{
border-radius:5px 5px 0 0;
}

.bottomRound{
border-radius:0 0 5px 5px;
}

* html .markermenu ul li a{ /*IE6 hack*/
width: 155px;
}

.markermenu ul li a:visited, .markermenu ul li a:active{
color: #00014e;
}

.markermenu ul li a:hover, .markermenu ul li a.selected{
font-weight:bold;
background-color:#bfbfbf;
}


/* ######### Customized Drop Down ULs CSS (inherits from ddlevelsmenu-base.css) ######### */

.blackwhite li a{
background: white;
}

.blackwhite li a:hover{
background: black;
color: white;
}

ul.miniBlocks{width:732px !important; background:#d6d6d6;}
ul.miniBlocks1{width:366px !important; background:#d6d6d6;}
.miniBlocks li{float:left !important;}
.miniBlocks1 li{float:left !important;}

.mattblackmenu a.selected, .ddsubmenustyle li.selected > a {
background: #bfbfbf; /*background of tab with "selected" class assigned to its LI */
color: #09519B;
font-weight:bold;
}

脚本和 css 工作正常。当您继续导航元素时,您可以看到鼠标悬停在选择上,背景颜色较深且字体粗体。

现在,这个菜单是动态地来自 js/jsp 包含文件。

我需要的是当用户想要打开一个页面时,点击它时,悬停样式应该保持不变。

例如,

如果您将鼠标悬停在 JavaScript Reference > Item Folder 5b > Item Folder 5.2b > Sub Item 5.2.1b 上,当您想打开 Sub Item 5.2.1b 时,点击它,当页面与 Sub Item 5.2 相关时。 1b 打开时,悬停样式应保持单击状态,以便用户知道他在子元素 5.2.1b 页面上,当他再次想要悬停并打开另一个页面或查看他在哪个页面上时。

欢迎使用任何其他方式,但应该适用于我的动态场景。

最佳答案

如果这是用于单页应用程序,则只需为事件元素提供一个 active 类,您可以将其设置为事件元素的样式。

否则,您将需要在服务器端执行此操作。您的 CMS/服务器端应用需要为当前事件的菜单项提供 active 类。

.ddsubmenustyle li a:hover,
.ddsubmenustyle li a.active {
font-weight:bold;
background-color:#bfbfbf;
}

关于javascript - 悬停样式应在多级菜单动态加载时保持 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20185811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com