当链接单击-jQuery时,第二层下拉列表将隐藏
2nd tier dropdown hides when link clicked - jQuery
我有一个简单的Accordion菜单:https://jsfiddle.net/arunpjohny/x3ak0ueg/
当我点击Dropdown 1
时,你会看到Dropdown
的链接,下面是Test 1
&Test 2
。然而,Test
几乎立即消失。如何阻止这种情况的发生并始终显示Test 1
&单击Dropdown 1
时为Test 2
?
换句话说,.sub-menu .sub-menu
是隐藏的。
谢谢你的帮助。
$(document).ready(function ($) {
var $toggles = $('.inline').find('.navtoggle').click(function () {
$toggles.not(this).removeClass('selected')
//Expand or collapse this panel
$(this).toggleClass('selected').next().slideToggle('fast');
//Hide the other panels
$(".sub-menu").not($(this).next()).slideUp('fast');
});
});
.accordion-toggle {
cursor: pointer;
}
.sub-menu {
display: none;
}
.sub-menu .sub-menu {
display: block;
}
.selected {
background-color: red;
}
<nav class="medium-8 columns primary menu">
<ul class="inline naked">
<li class="primary-item"><a href="http://localhost:8888/test/wordpress">Home</a></li>
<li id="menu-item-74" class="primary-item menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-74"><a href="#" class="navtoggle">Dropdown 1</a>
<ul class="sub-menu">
<li id="menu-item-76" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-76"><a href="http://localhost:8888/test/wordpress/?page_id=45">Dropdown </a>
<ul class="sub-menu">
<li id="menu-item-77" class="sub-sub-menu menu-item menu-item-type-post_type menu-item-object-page menu-item-77"><a href="http://localhost:8888/test/wordpress/?page_id=47">Test 1</a></li>
<li id="menu-item-78" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-78"><a href="http://localhost:8888/test/wordpress/?page_id=49">Test 2</a></li>
</ul>
</li>
</ul>
<li id="menu-item-79" class="primary-item menu-item menu-item-type-post_type menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-79"><a href="#" class="navtoggle">Dropdown 2</a></li>
</li>
</ul>
</nav>
您可以将最后一行更改为此
$(".sub-menu").not($(this).parent().find('.sub-menu')).slideUp('fast');
这将得到a
标签的父li
。并确保其中的任何.sub-menu
元素都未显示。不过,它仍然会隐藏其他li
中的任何子菜单,我认为这是有意的。
评论如下:
//$(".sub-menu").not($(this).next()).slideUp('fast');
相关文章:
- 当链接单击-jQuery时,第二层下拉列表将隐藏
- 如果未选择第一个下拉列表,则禁用第二个下拉列表
- 显示基于第一个下拉列表的第二个下拉列表不起作用
- 如何在第二个下拉列表中更改设置的默认值
- 如何从php中第一个动态生成的第二个下拉列表将数据存储到数据库中
- 隐藏第二个下拉列表,直到在第一个下拉列表中做出选择
- 根据 Wordpress 页面中的第一个下拉列表填充第二个下拉列表
- 获取所选项目的值,并在第二个下拉列表中更改列表
- 如何在更改第一个下拉列表后从数据库加载第二个下拉列表
- 基于第一个 - JQuery 对话框加载第二个下拉列表
- 如何根据从第一个下拉列表自动更改的第二个下拉列表更改第二个文本框值
- 根据第一个下拉列表结果填充第二个下拉列表
- 基于第一个下拉列表的动态第二个下拉列表
- 在javascript/php.html中选择第一个下拉列表后,更新第二个下拉列表
- 使用bootstrap-select.js根据第一个下拉列表更改第二个下拉列表的选项
- 在第一个下拉值有子元素,然后用户在第二个下拉列表中选择相同的值应该使用 jquery 接受
- 选择“NA"第一个下拉框中的值不应该被禁用"NA"第二个下拉列表中的值
- 如果没有焦点的文本框中有数据,则创建新行,并且在第二行下拉列表中不提供数据
- msdropdown -基于第一个加载第二个下拉列表
- 根据前一个下拉选择显示第二个下拉列表