菜单项目不能正常显示为超级菜单 [英] Menu items not showing up properly as a mega menu
问题描述
我需要制作一个类似于下图所示的大型菜单,如下图所示:
到目前为止,我已经能够在一定程度上在 jsFiddle HERE 。
到目前为止,我有一些设计问题和一个功能问题。
当我尝试隐藏每个下拉菜单的默认文本 // $(this).find(。nav-info)。hide();
然后菜单4& 5没有出现在右侧。
我实际上正在尝试创建一个类似于网站。
一个这个网站,他们也显示了父母菜单的默认文本,我实际上不需要它。
我修改了脚本以显示其子菜单的第一个子菜单找到的父菜单ONE,TWO,但为菜单FOUR和FIVE创建了高亮度问题。
$ b
如果有人能帮我解决这个问题,我将不胜感激......
CODE
< div class =container_16>
< div class =nav-main grid_16>
< div class =wrap-nav-media>
< ul id =nav-top-media>
<! - ONE - >
< li class =nav-item-1>< a href =.. company-overview> Parent Menu One< / a>
< div style =display:none;类= 内NAV-媒体 >
< ul>
< li class =>< a class =currenthref =../ directors =sub-1-relative-1> sub-1-relative-1< / A>
< / li>
< li class =>< a class =currenthref =../ management-team =sub-1-relative-2> sub-1-relative- 2'; / A>
< / li>
< li class =last>< a class =currenthref =../ tems.html =sub-1-relative-3> sub-1-relative -3 LT; / A>
< / li>
< / ul>
< div style =display:block; class =menu-page firstid =mega-sub-1-relative-1> < a href =../董事会title =董事会 =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在这里显示sub-1-relative-1< / p>
< / div>
< / div>
< div style =display:block; class =menu-pageid =mega-sub-1-relative-2> < a href =../ management-teamtitle =管理团队 =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在这里显示sub-1-relative-2< / p>
< / div>
< / div>
< div style =display:none; class =menu-pageid =mega-sub-1-relative-3> < a href =../ vision.htmltitle =Vision =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在这里显示sub-1-relative-3< / p>
< / div>
< / div>
< / div>
< / li>
<! - TWO - >
< li class =nav-item-2> < a href =..功能>父级菜单TWO< / a>
< div style =display:none;类= 内NAV-媒体 >
< ul>
< li class =>< a class =currenthref =../ infrastructure =sub-2-relative-1> sub-2-relative-1< / A>
< / li>
< li class =>< a class =currenthref =.. capabilities / building =sub-2-relative-2> sub-2-relative-2< ; / A>
< / li>
< li class =last>< a class =currenthref =.. capabilities / rail =sub-2-relative-3> sub-2-relative- 3'; / A>
< / li>
< / ul>
< div style =display:none; class =menu-page firstid =mega-sub-2-relative-1> < a href =../ infrastructuretitle =基础架构 =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在这里显示sub-2-relative-1< / p>
< / div>
< / div>
< div style =display:none; class =menu-pageid =mega-sub-2-relative-2> < a href =../ buildingtitle =建筑物 =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在这里显示sub-2-relative-2< / p>
< / div>
< / div>
< div style =display:none; class =menu-pageid =mega-sub-2-relative-3> < a href =/ railtitle =Rail =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在这里显示sub-2-relative-3< / p>
< / div>
< / div>
< / div>
< / li>
< li class =nav-item-3>< a href =../ projects> THREE< / a>
< / li>
< li class =nav-item-4> < a href =../- business> FOUR< / a>
< div style =display:none;类= 内NAV-媒体 >
< div style =display:block; float:right; class =menu-page nav-info> < a class =thumb =nofollowtitle =商家href =../ business>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> TEXT将会在这里...< / p>
< / div>
< / div>
< ul>
< li class => < a class =currenthref =2.html =sub-4-relative-1> sub-4-relative-1< / a>
< / li>
< li class => < a class =currenthref =1.html =sub-4-relative-2> sub-4-relative-2< / a>
< / li>
< / ul>
< div style =display:none; class =menu-page firstid =mega-sub-4-relative-1> < a href =../ group.htmltitle = =nofollowclass =thumb>
< img src =HLG-Mega-Menu_files / 20110602_1-ARG.jpgalt =>
< / a>
< div>
< p> TEXT将会在这里...< / p>
< / div>
< / div>
< div style =display:none; class =menu-pageid =mega-sub-4-relative-2> < a href =../ advance-water-and-environmentawe.htmltitle =高级水与环境(AWE) =nofollowclass =thumb>
< img src =HLG-Mega-Menu_files / 20121024_AWG-220x165.jpgalt =高级水与环境(AWE)>
< / a>
< div>
< p> TEXT将会在这里...< / p>
< / div>
< / div>
< / div>
< / li>
< li class =last nav-item-5>< a href =../ sustainability> FIVE< / a>
< div style =display:none;类= 内NAV-媒体 >
< div style =display:block; class =menu-page nav-info> < a class =thumb =nofollowtitle =href =>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p>这是默认文本,当我尝试隐藏它时,此菜单移动到左侧< / p>
< / div>
< / div>
< ul>
< li class =>< a class =currenthref = =sub-5-relative-1> sub-5-relative-1< / a>
< / li>
< li class =>< a class =currenthref = =sub-5-relative-2> sub-5-relative-2< / a>
< / li>
< li class =>< a class =currenthref = =sub-5-relative-3> sub-5-relative-3< / a>
< / li>
< li class =last>< a class =currenthref = =sub-5-relative-4> sub-5-relative-4< / a>
< / li>
< / ul>
< div style =display:none; class =menu-page firstid =mega-sub-5-relative-1> < a href =/ safety.htmltitle = =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在这里显示sub-5-relative-3< / p>
< / div>
< / div>
< div style =display:none; class =menu-pageid =mega-sub-5-relative-2> < a href =/ environment.htmltitle =Environment =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在这里显示sub-5-relative-2< / p>
< / div>
< / div>
< div style =display:none; class =menu-pageid =mega-sub-5-relative-3> < a href =/ community.htmltitle =Community =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在这里显示sub-5-relative-3< / p>
< / div>
< / div>
< div style =display:none; class =menu-pageid =mega-sub-5-relative-4> < a href =/ quality.htmltitle =Quality =nofollowclass =thumb>
< div style =height:80px width:80px; background-color:yellow; float:right;> IMAGE< / div>
< / a>
< div>
< p> Brief Contents将在此处显示sub-5-relative-4< / p>
< / div>
< / div>
< / div>
< / li>
< / ul>
< / div>
< / div>
< / div>
< / div>
在文档头部添加以下内容
<! - [if lt IE 9]>
<![endif] - >
并使用Rachel Reveley建议的方法。
$ p >该代码在旧版浏览器中添加了对HTML 5和CSS3的支持。它似乎对我来说非常完美。
I need to make a mega menu similar to one as show in image below
So far i have been able to make it work to some extent example on jsFiddle HERE.
So far i have some design issue and one functionality issue.
When i try to hide the default text for each dropdown menu //$(this).find(".nav-info").hide();
then Menu 4 & 5 doesnt show up on right side.
I am actually trying to create a menu similar to one as on this website. One this website they also show a default text for parent menu which i dont need actually.
I modified script to show the first li of submenu it works find for Parent menu ONE, TWO but creates alighnment problem for MENU FOUR and FIVE.
I would appreciate if some can help me fix this issue...
CODE
<div class="container_16">
<div class="nav-main grid_16">
<div class="wrap-nav-media">
<ul id="nav-top-media">
<!-- ONE -->
<li class="nav-item-1"><a href="..company-overview">Parent Menu One</a>
<div style="display: none;" class="inner-nav-media">
<ul>
<li class=""><a class="current" href="../directors" rel="sub-1-relative-1">sub-1-relative-1</a>
</li>
<li class=""><a class="current" href="../management-team" rel="sub-1-relative-2">sub-1-relative-2</a>
</li>
<li class="last"><a class="current" href="../tems.html" rel="sub-1-relative-3">sub-1-relative-3</a>
</li>
</ul>
<div style="display: block;" class="menu-page first" id="mega-sub-1-relative-1"> <a href="../board-of-directors" title="Board of Directors" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-1-relative-1</p>
</div>
</div>
<div style="display: block;" class="menu-page" id="mega-sub-1-relative-2"> <a href="../management-team" title="Management Team" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow; float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-1-relative-2</p>
</div>
</div>
<div style="display: none;" class="menu-page" id="mega-sub-1-relative-3"> <a href="../vision.html" title="Vision" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-1-relative-3</p>
</div>
</div>
</div>
</li>
<!-- TWO -->
<li class="nav-item-2"> <a href="..capabilities">Parent Menu TWO</a>
<div style="display: none;" class="inner-nav-media">
<ul>
<li class=""><a class="current" href="../infrastructure" rel="sub-2-relative-1">sub-2-relative-1</a>
</li>
<li class=""><a class="current" href="..capabilities/building" rel="sub-2-relative-2">sub-2-relative-2</a>
</li>
<li class="last"><a class="current" href="..capabilities/rail" rel="sub-2-relative-3">sub-2-relative-3</a>
</li>
</ul>
<div style="display: none;" class="menu-page first" id="mega-sub-2-relative-1"> <a href="../infrastructure" title="Infrastructure" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-2-relative-1</p>
</div>
</div>
<div style="display: none;" class="menu-page" id="mega-sub-2-relative-2"> <a href="../building" title="Building" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-2-relative-2</p>
</div>
</div>
<div style="display: none;" class="menu-page" id="mega-sub-2-relative-3"> <a href="/rail" title="Rail" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-2-relative-3</p>
</div>
</div>
</div>
</li>
<li class="nav-item-3"><a href="../projects">THREE</a>
</li>
<li class="nav-item-4"> <a href="../-businesses">FOUR</a>
<div style="display: none;" class="inner-nav-media">
<div style="display: block; float:right;" class="menu-page nav-info"> <a class="thumb" rel="nofollow" title=" Businesses" href="../businesses">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>TEXT will be here...</p>
</div>
</div>
<ul>
<li class=""> <a class="current" href="2.html" rel="sub-4-relative-1">sub-4-relative-1</a>
</li>
<li class=""> <a class="current" href="1.html" rel="sub-4-relative-2">sub-4-relative-2</a>
</li>
</ul>
<div style="display: none;" class="menu-page first" id="mega-sub-4-relative-1"> <a href="../group.html" title="" rel="nofollow" class="thumb">
<img src="HLG-Mega-Menu_files/20110602_1-ARG.jpg" alt="">
</a>
<div>
<p>TEXT will be here...</p>
</div>
</div>
<div style="display: none;" class="menu-page" id="mega-sub-4-relative-2"> <a href="../advance-water-and-environmentawe.html" title="Advance Water and Environment (AWE)" rel="nofollow" class="thumb">
<img src="HLG-Mega-Menu_files/20121024_AWG-220x165.jpg" alt="Advance Water and Environment (AWE)">
</a>
<div>
<p>TEXT will be here...</p>
</div>
</div>
</div>
</li>
<li class="last nav-item-5"><a href="../sustainability">FIVE</a>
<div style="display: none;" class="inner-nav-media">
<div style="display: block;" class="menu-page nav-info"> <a class="thumb" rel="nofollow" title="" href="">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>This is Default text when i try to hide this then this menu moves to left</p>
</div>
</div>
<ul>
<li class=""><a class="current" href="" rel="sub-5-relative-1">sub-5-relative-1</a>
</li>
<li class=""><a class="current" href="" rel="sub-5-relative-2">sub-5-relative-2</a>
</li>
<li class=""><a class="current" href="" rel="sub-5-relative-3">sub-5-relative-3</a>
</li>
<li class="last"><a class="current" href="" rel="sub-5-relative-4">sub-5-relative-4</a>
</li>
</ul>
<div style="display: none;" class="menu-page first" id="mega-sub-5-relative-1"> <a href="/safety.html" title="" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-5-relative-3</p>
</div>
</div>
<div style="display: none;" class="menu-page" id="mega-sub-5-relative-2"> <a href="/environment.html" title="Environment" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-5-relative-2</p>
</div>
</div>
<div style="display: none;" class="menu-page" id="mega-sub-5-relative-3"> <a href="/community.html" title="Community" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-5-relative-3</p>
</div>
</div>
<div style="display: none;" class="menu-page" id="mega-sub-5-relative-4"> <a href="/quality.html" title="Quality" rel="nofollow" class="thumb">
<div style="height:80px width:80px; background-color:yellow;float:right;">IMAGE</div>
</a>
<div>
<p>Brief Contents will show up here sub-5-relative-4</p>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
Add the following in the head of the document,
<!--[if lt IE 9]>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.2/html5shiv.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/selectivizr/1.0.2/selectivizr-min.js"></script>
<![endif]-->
And use the method suggested by Rachel Reveley.
li:hover ul {display: block;}
The code adds support for HTML 5 and CSS3 on older browsers. And it seems to be working perfect for me.
这篇关于菜单项目不能正常显示为超级菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!