如何使用jQuery制作动态手风琴菜单
How to make a dynamic accordion menu with jQuery
假设我有以下菜单结构。我有 3 个问题。
$('.parent ul').hide();
var current_parent;
$(document).delegate('.parent', 'click', (function() {
var $this = $(this);
if(current_parent !== undefined) {
current_parent.find('ul').slideUp();
}
current_parent = $this;
// Check if the element is visble or not
if(!$this.find('ul').is(':visible')) {
$this.find('ul').slideDown();
} else {
$this.find('ul').slideUp();
}
}));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="menu">
<li class="parent">menu item1
<ul>
<li class="child">Sub menu item1</li>
<li class="child parent">Sub menu item2
<ul>
<li class="child">Sub-sub menu item1</li>
</ul>
</li>
</ul>
</li>
<li class="parent">menu item2
<ul>
<li class="child">Sub menu item3</li>
</ul>
</li>
</ul>
- 当您单击
menu item 1
时,Sub-sub menu item1
也是打开。这怎么能预选呢? - 当您单击
Sub menu item2
时,menu item1
也会关闭。这怎么能预选呢? - 如何使其更具动态性,以便在添加更深的菜单项时,菜单仍然可以工作,但不必添加以下内容:
$('ul ul ul').slideDown();
等?
谁能帮我解决这些问题?
提前致谢
您可以使用 '。
jquery创建一个下拉菜单
我已经给出了单独的HTML,CSS和JQuery代码,使用它并尝试理解它。
有一个外<div id="navigation"> and inside it their is an
now in it every
is main menu item and
in every
is sub menu item. Furthermore you can create sub menu in sub menu also by creating
in
$(document).ready(function () {
$("li").click(function () {
var x = $(this).children("a:first").attr("href");
if (x != undefined)
window.location.href = x;
});
$("#nav li").hover(function () {
$(this).find("ul:first").css({
visibility: "visible",
display: "none",
}).slideDown(400);
}, function () {
$(this).find("ul:first").css({ visibility: "hidden" });
});
});
body {
font-family: Calibri, Verdana;
font-size: 16px;
color: white;
}
a {
color: inherit;
text-decoration: none;
}
#navigation {
height: 40px;
}
#nav {
list-style: none;
margin: 0px;
padding: 0px;
}
#nav ul {
list-style: none;
margin: 10px 0px 0px -5px;
padding: 0px;
display: none;
}
#nav li {
float: left;
width: 150px;
height: 30px;
padding: 10px 0px 0px 5px;
border: 0px solid transparent;
border-right-width: 1px;
border-right-color: gray;
background-color: #6397CB;
}
#nav li ul li {
width: 145px;
height: 22px;
padding: 10px 0px 8px 10px;
border: 0px solid transparent;
border-top-width: 1px;
border-top-color: gray;
}
#nav li ul li ul {
position: relative;
top: -40px;
margin-left: 145px;
color: white;
}
#nav li ul li ul li {
border: 0px solid transparent;
border-left-width: 1px;
border-left-color: gray;
border-top-width: 1px;
border-top-color: gray;
}
#nav li:hover {
background-color: lightgray;
cursor: pointer;
}
#nav li ul li:hover {
color: black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="navigation">
<ul id="nav">
<li><a href="#">My Name</a></li>
<li>About U
<ul>
<li>How U?
<ul>
<li><a href="#">Your Extras</a></li>
</ul>
</li>
<li><a href="#">Howz U?</a></li>
</ul>
</li>
<li><a href="#">More</a></li>
</ul>
</div>
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 动态分配GA增强型电子商务跟踪器
- onkeyup无法动态创建多个文本区域
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何获得动态 JQuery 移动手风琴.
- 动态地将额外的行添加到 jquery 手风琴中
- 在 Bootstrap 3 手风琴中添加动态闭合面板
- 如何使用jQuery制作动态手风琴菜单
- 动态html和javascript中的Zurb基础手风琴
- Extjs手风琴动态关闭所有面板
- 如何正确附加动态GetUIKit手风琴
- 动态应用引导手风琴功能
- 动态内容隐藏在Angular引导手风琴中
- 两个动态生成的引导手风琴相互冲突
- 动态Jquery移动手风琴
- 动态添加面板到Bootstrap 3手风琴
- Bootstrap:手风琴中的手风琴,显示动态内容
- 从控制器动态加载 Angular UI-Bootstrap 手风琴
- primefaces动态手风琴,不解析值到tabChange侦听器