将嵌套菜单转换为mobil ...我需要在点击下方的父li下方添加每个下拉列表并切换它们。
这是当前菜单标记,其中下拉列表在悬停时可见:
<ul class="navigation-menu">
<li class="white-hover"><a ceid="rd-menu" class="nav-main-links" href="#">Category</a>
<div class="drop">
<div class="drop-holder">
<div class="left-side-menu dividerLine">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
<div class="right-side-menu">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
</div>
</div>
</li>
<li>....</li>
<li>....</li>
<li>....</li>
</ul>
不太确定如何解决这个问题。我相信我需要详细说明:
$(document).ready(function()
{
$('ul.navigation-menu li').click(function(e)
{
$(this).find('li').each(function(){
$(this).after( each child li );
});
});
});
如果有人能指出我正确的方向,我真的很感激。
答案 0 :(得分:1)
只需在点击事件上切换样式(最初悬停):
CSS:
/* before */
ul.navigation-menu li:hover {...}
ul.navigation-menu li:hover div.drop {...}
/* after */
ul.navigation-menu li.active {...}
ul.navigation-menu li.active div.drop {...}
JS:
$(document).ready(function() {
$('.white-hover').click(function(e) {
$(this).toggleClass('active');
});
});
这是一个有一点改进的演示:
$(document).ready(function() {
$('.white-hover').click(function(e) {
if (!$(this).hasClass('active')) {
$('.active').removeClass('active');
}
$(this).toggleClass('active');
});
});
ul.navigation-menu li {
display: block;
position: relative;
}
ul.navigation-menu li.active {
display: block;
background-color: #09b5c9;
}
ul.navigation-menu li div.drop {
display: none;
}
ul.navigation-menu li.active div.drop {
display: block;
position: absolute;
width: 387px;
}
.drop {
background-color: #fff;
width: 387px;
padding-left: 23px;
padding-right: 25px;
left: 0px;
z-index: 9999;
border-top:4px solid #09b5c9;
top:46px;
padding-bottom: 25px;
box-shadow: 1px 3px 4px 0 #888 !important;
display: block;
position: absolute;
padding-top: 15px;
}
.drop-holder {
width:387px;
float: left;
}
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<ul class="navigation-menu">
<li class="white-hover">
<a ceid="rd-menu" class="nav-main-links" href="#">Category</a>
<div class="drop">
<div class="drop-holder">
<div class="left-side-menu dividerLine">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
<div class="right-side-menu">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
</div>
</div>
</li>
<li class="white-hover">
<a ceid="rd-menu" class="nav-main-links" href="#">Category</a>
<div class="drop">
<div class="drop-holder">
<div class="left-side-menu dividerLine">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
<div class="right-side-menu">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
</div>
</div>
</li>
<li class="white-hover">
<a ceid="rd-menu" class="nav-main-links" href="#">Category</a>
<div class="drop">
<div class="drop-holder">
<div class="left-side-menu dividerLine">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
<div class="right-side-menu">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
</div>
</div>
</li>
<li class="white-hover">
<a ceid="rd-menu" class="nav-main-links" href="#">Category</a>
<div class="drop">
<div class="drop-holder">
<div class="left-side-menu dividerLine">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
<div class="right-side-menu">
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
</ul>
</div>
</div>
</div>
</li>
</ul>