在我嘗試創建超級菜單時,IM卡住了造型第三級子菜單。第一個子菜單(li ul)不顯示(顯示:無)。然後我有jquery腳本,顯示子菜單懸停(li ul - 第一級)。如果窗口小於768px,則點擊功能被激活(用於觸摸屏)。造型第三級菜單不起作用
我的問題是,當我想風格的第三級子菜單(子菜單的子菜單 - 李 - ul - 李 - ul)沒有風格應用 - 我希望它始終顯示,但隱藏,顯示:無應用於該UL,但我將其設置爲display:block。所以只有當我懸停它的LI元素時才顯示出來(li ul li hover)。
因此,基本上我試圖做的是第一個子菜單(li-ul)在懸停(或點擊手機)時激活,但第二個子菜單(子菜單的子菜單)總是可見的。當我嘗試設計它時,我可以像這樣訪問它:li ul li ul,並且不起作用。我應該如何訪問它?另外當我試圖懸停第三級子菜單,菜單關閉,我沒有在jquery中指定它。
HTML
<div class="menu-container">
<ul class="menu">
<li><a href="#">Home</a>
<ul>
<li><a href="#">Ovo je nesto</a>
<ul>
<li><a href="#">aaa</a></li>
</ul>
</li>
<li><a href="#">Ovo je nesto</a></li>
<li><a href="#">Ovo je nesto</a></li>
<li><a href="#">Ovo je nesto</a></li>
</ul>
</li>
<li><a href="#">Who are we?</a>
<ul>
<li>This is mega menu</li>
</ul>
</li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
CSS
.menu-container {
width: 80%;
margin: 0 auto;
background: #333;
}
.menu {
margin: 0 auto;
list-style: none;
padding: 0;
position: relative;
}
.menu:before,
.menu:after {
content: "";
display: table;
}
.menu:after {
clear: both;
}
.menu li {
float: left;
background: #e9e9e9;
padding: 0;
margin: 0;
}
.menu li a {
text-decoration: none;
padding: 1.5em 3em;
display: inline-block;
outline: 0 none;
}
.menu li ul {
display: none;
width: 100%;
background: #333;
padding: 20px;
position: absolute;
z-index: 99;
left: 0;
color: #fff;
margin: 0;
}
.menu li ul li {
margin: 0;
padding: 0;
list-style: none;
width: 25%;
background: none;
float: left;
}
.menu li ul li a {
color: #fff;
padding: .2em 0;
}
.menu li ul li ul {
display: block;
}
.menu li ul li ul li {
display: block;
}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
960px
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
TABLETS
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
MOBILE 100%
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media only screen and (max-width: 767px) {
.menu > li {
float: none;
width: 100%;
}
.menu > li > ul {
position: relative;
}
.menu > li > ul li {
float: none;
width: 100%;
}
}
Jquery的
$(document).ready(function() {
$(".menu li").hover(function() {
if ($(window).width() > 767) {
$('.menu ul li ul').not($(this).children("ul").fadeToggle(200)).hide();
}
});
$(".menu li").click(function() {
if ($(window).width() <= 767) {
$('.menu ul li ul').not($(this).children("ul").fadeToggle(200)).hide();
}
});
});
演示:http://codepen.io/riogrande/pen/ZbaeKa
您提供的代碼太多,描述過於龐大(* 1 *段),難以理解。如果你想讓任何人看到你的問題,而不是立即關閉它,請嘗試簡化代碼並給出一個更簡潔的問題。最好添加一個演示。 –
謝謝你的建議我編輯了我的文章! – riogrande