如何折叠其他导航项
How to collapse other navigation items
好吧,我到处搜索我的问题,没有看到类似的东西,也许我的研究能力很烂,这是很有可能的。不过,这是我的问题。
我有一个由 ul 和 li 组成的导航,另一个 ul 和 li 位于外层 li 的内部。
使用jquery,我可以点击外面的li来切换里面的ul。这允许我单独展开每个导航项。但是我希望在单击下一个时折叠上一个项目。我能想到的就是这个:
<script>
$(function(){
$(".main-nav").on("click",function(){
$(".main-nav").find(".inner-nav").hide();
$(this).find(".inner-nav").toggle();
});
});
</script>
然而,虽然这会折叠每个项目,但它不允许折叠当前项目。
html 的一部分在这里:
<div class="nav">
<ul>
<li class="main-nav">
<div class="nav-icon" id="dashboard-icon"></div>
<a href="#">Dashboard</a>
<ul class="inner-nav">
<li><div class="inner-nav-icon" id="stats-icon"></div><a href="#">Statistics</a></li>
<li><div class="inner-nav-icon" id="log-icon"></div><a href="#">Log</a></li>
</ul>
</li>
<li class="main-nav">
<div class="nav-icon" id="ticket-icon"></div>
<a href="#">Support Tickets</a>
<ul class="inner-nav">
<li><div class="inner-nav-icon" id="browse-icon"></div><a href="#">Browse Active</a></li>
<li><div class="inner-nav-icon" id="browse-icon"></div><a href="#">Browse Pending</a></li>
<li><div class="inner-nav-icon" id="add-icon"></div><a href="#">Create A Ticket</a></li>
<li><div class="inner-nav-icon" id="settings-nav-icon"></div><a href="#">Settings</a></li>
</ul>
</li>
当您使用 toggle()
时,您可以简单地使用 .not()
$(function(){
$(".main-nav").on("click",function(){
$(".inner-nav").not($(this).find(".inner-nav")).hide();
$(this).find(".inner-nav").toggle();
});
});
好吧,我到处搜索我的问题,没有看到类似的东西,也许我的研究能力很烂,这是很有可能的。不过,这是我的问题。
我有一个由 ul 和 li 组成的导航,另一个 ul 和 li 位于外层 li 的内部。
使用jquery,我可以点击外面的li来切换里面的ul。这允许我单独展开每个导航项。但是我希望在单击下一个时折叠上一个项目。我能想到的就是这个:
<script>
$(function(){
$(".main-nav").on("click",function(){
$(".main-nav").find(".inner-nav").hide();
$(this).find(".inner-nav").toggle();
});
});
</script>
然而,虽然这会折叠每个项目,但它不允许折叠当前项目。 html 的一部分在这里:
<div class="nav">
<ul>
<li class="main-nav">
<div class="nav-icon" id="dashboard-icon"></div>
<a href="#">Dashboard</a>
<ul class="inner-nav">
<li><div class="inner-nav-icon" id="stats-icon"></div><a href="#">Statistics</a></li>
<li><div class="inner-nav-icon" id="log-icon"></div><a href="#">Log</a></li>
</ul>
</li>
<li class="main-nav">
<div class="nav-icon" id="ticket-icon"></div>
<a href="#">Support Tickets</a>
<ul class="inner-nav">
<li><div class="inner-nav-icon" id="browse-icon"></div><a href="#">Browse Active</a></li>
<li><div class="inner-nav-icon" id="browse-icon"></div><a href="#">Browse Pending</a></li>
<li><div class="inner-nav-icon" id="add-icon"></div><a href="#">Create A Ticket</a></li>
<li><div class="inner-nav-icon" id="settings-nav-icon"></div><a href="#">Settings</a></li>
</ul>
</li>
当您使用 toggle()
时,您可以简单地使用 .not()
$(function(){
$(".main-nav").on("click",function(){
$(".inner-nav").not($(this).find(".inner-nav")).hide();
$(this).find(".inner-nav").toggle();
});
});