我刚刚创建了菜单,其中一些项目有子项目,你可以在我的html结构中看到:
<nav id="site-navigation" class="main-navigation" role="navigation">
<div class="menu-menu-1-container">
<ul id="primary-menu" class="menu">
<li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-4 current_page_item menu-item-41">
<a href="http://powersol.burnnotice.co.za/">Home</a>
</li>
<li id="menu-item-42" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-42">
<a href="http://powersol.burnnotice.co.za/our-dealers/">Our Dealers</a>
<ul class="sub-menu">
<li id="menu-item-250" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-250">
<a href="http://powersol.burnnotice.co.za/dealer-1/">Dealer 1</a>
</li>
<li id="menu-item-246" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-246">
<a href="http://powersol.burnnotice.co.za/dealer-2/">Dealer 2</a>
</li>
<li id="menu-item-245" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-245">
<a href="http://powersol.burnnotice.co.za/dealer-3/">Dealer 3</a>
</li>
<li id="menu-item-249" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-249">
<a href="http://powersol.burnnotice.co.za/dealer-4/">Dealer 4</a>
</li>
</ul>
</li>
<li id="menu-item-39" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-39">
<a href="http://powersol.burnnotice.co.za/companies/">Companies</a>
<ul class="sub-menu">
<li id="menu-item-247" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-247">
<a href="http://powersol.burnnotice.co.za/companies-1/">Companies 1</a>
</li>
<li id="menu-item-253" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-253">
<a href="http://powersol.burnnotice.co.za/companies-3/">Companies 3</a>
</li>
<li id="menu-item-248" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-248">
<a href="http://powersol.burnnotice.co.za/companies-4/">Companies 4</a>
</li>
</ul>
</li>
<li id="menu-item-40" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-40">
<a href="http://powersol.burnnotice.co.za/contact/">Contact</a>
</li>
</ul>
</div>
</nav>
对于css,我首先放置一个显示器,因为最初子菜单无法显示。
.main-navigation ul li{
display: none;
}
现在,每当我将鼠标悬停在特定项目上时,如何向包含子项目的菜单项添加类下拉菜单?
这里是我的js但是当我将鼠标悬停在该项目上时它什么也没做:
$('.main-navigation ul > li.menu-item-has-children').on("hover" function(){
$('.main-navigation ul > li.menu-item-has-children').removeClass('dropdown-menu');
if($(this).hasClass('dropdown-menu')){
$(this).addClass('dropdown-menu');
}else{
$(this).addClass('dropdown-menu');
}
});
答案 0 :(得分:2)
试试这个演示,只使用css,检查下拉列表,这仅供参考
#primary-menu > li {
display:inline-block;
position:relative;
margin:15px;
}
#primary-menu > li ul {
position:absolute;
left:0;
padding:0;
display:none;
}
#primary-menu > li ul li {
white-space:nowrap;
}
#primary-menu > li:hover ul {
display:block;
}
<nav id="site-navigation" class="main-navigation" role="navigation">
<div class="menu-menu-1-container">
<ul id="primary-menu" class="menu">
<li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-4 current_page_item menu-item-41">
<a href="http://powersol.burnnotice.co.za/">Home</a>
</li>
<li id="menu-item-42" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-42">
<a href="http://powersol.burnnotice.co.za/our-dealers/">Our Dealers</a>
<ul class="sub-menu">
<li id="menu-item-250" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-250">
<a href="http://powersol.burnnotice.co.za/dealer-1/">Dealer 1</a>
</li>
<li id="menu-item-246" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-246">
<a href="http://powersol.burnnotice.co.za/dealer-2/">Dealer 2</a>
</li>
<li id="menu-item-245" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-245">
<a href="http://powersol.burnnotice.co.za/dealer-3/">Dealer 3</a>
</li>
<li id="menu-item-249" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-249">
<a href="http://powersol.burnnotice.co.za/dealer-4/">Dealer 4</a>
</li>
</ul>
</li>
<li id="menu-item-39" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-39">
<a href="http://powersol.burnnotice.co.za/companies/">Companies</a>
<ul class="sub-menu">
<li id="menu-item-247" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-247">
<a href="http://powersol.burnnotice.co.za/companies-1/">Companies 1</a>
</li>
<li id="menu-item-253" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-253">
<a href="http://powersol.burnnotice.co.za/companies-3/">Companies 3</a>
</li>
<li id="menu-item-248" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-248">
<a href="http://powersol.burnnotice.co.za/companies-4/">Companies 4</a>
</li>
</ul>
</li>
<li id="menu-item-40" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-40">
<a href="http://powersol.burnnotice.co.za/contact/">Contact</a>
</li>
</ul>
</div>
</nav>
答案 1 :(得分:0)
你可以自己做CSS :hover
。但正如你所希望的jquery
这里是解决方案
使用$('.main-navigation ul > li.menu-item-has-children').on("mouseenter mouseleave", function(e){
。 mouseenter mouseleave
取代hover
$('.main-navigation ul > li.menu-item-has-children').on("mouseenter mouseleave", function(e){
$('.main-navigation ul > li.menu-item-has-children').removeClass('dropdown-menu');
if(e.type=='mouseenter')
$(this).addClass('dropdown-menu');
});
.main-navigation ul ul{
display: none;
}
.main-navigation ul li.dropdown-menu ul{
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav id="site-navigation" class="main-navigation" role="navigation">
<div class="menu-menu-1-container">
<ul id="primary-menu" class="menu">
<li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-4 current_page_item menu-item-41">
<a href="http://powersol.burnnotice.co.za/">Home</a>
</li>
<li id="menu-item-42" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-42">
<a href="http://powersol.burnnotice.co.za/our-dealers/">Our Dealers</a>
<ul class="sub-menu">
<li id="menu-item-250" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-250">
<a href="http://powersol.burnnotice.co.za/dealer-1/">Dealer 1</a>
</li>
<li id="menu-item-246" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-246">
<a href="http://powersol.burnnotice.co.za/dealer-2/">Dealer 2</a>
</li>
<li id="menu-item-245" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-245">
<a href="http://powersol.burnnotice.co.za/dealer-3/">Dealer 3</a>
</li>
<li id="menu-item-249" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-249">
<a href="http://powersol.burnnotice.co.za/dealer-4/">Dealer 4</a>
</li>
</ul>
</li>
<li id="menu-item-39" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-39">
<a href="http://powersol.burnnotice.co.za/companies/">Companies</a>
<ul class="sub-menu">
<li id="menu-item-247" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-247">
<a href="http://powersol.burnnotice.co.za/companies-1/">Companies 1</a>
</li>
<li id="menu-item-253" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-253">
<a href="http://powersol.burnnotice.co.za/companies-3/">Companies 3</a>
</li>
<li id="menu-item-248" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-248">
<a href="http://powersol.burnnotice.co.za/companies-4/">Companies 4</a>
</li>
</ul>
</li>
<li id="menu-item-40" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-40">
<a href="http://powersol.burnnotice.co.za/contact/">Contact</a>
</li>
</ul>
</div>
</nav>