如果其中一个子菜单项处于活动状态,则展开下拉菜单
Expand dropdown menu if one of the sub-menu items is active
我有一个下拉菜单,可以通过单击展开。默认情况下,菜单是折叠的。如果其中一个子菜单页面处于活动状态,我希望菜单显示为展开状态。我希望这是清楚的。这是我的密码。
HTML
<li class="dropdown">
<a class="disablelink" href="#">Carbohydrates, proteins & fats</a>
<ul class="sub_navigation">
<li><a href="carbohydrates.php">Carbohydrates</a></li>
<li><a href="proteins.php">Proteins</a></li>
<li><a href="fats.php">Fats</a></li>
</ul>
</li>
jQuery
$(document).ready(function() {
$('.dropdown').click(function() {
// When the event is triggered, grab the current element 'this' and
// find it's children '.sub_navigation' and display/hide them
$(this).find('.sub_navigation').slideToggle();
});
$(".disablelink").click(function(e) {
e.preventDefault();
});
});
因此,如果用户在carbohydrates.php
、proteins.php
或fats.php
上,我希望展开菜单。不过我不知道该怎么做。有人能帮忙吗?
例如,当页面处于活动状态时,您需要为其链接提供一个额外的类;
<li class="current_page"><a href="carbohydrates.php">Carbohydrates</a></li>
。
然后,您可以使用jQuery循环浏览菜单,并在任何菜单项都有类的情况下展开它。
$('.dropdown li').each(function() {
if ($(this).hasClass('current_page')) {
$(this).closest('.sub_navigation').slideDown();
}
});
演示:http://jsfiddle.net/R7gkw/
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- angular的下拉菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 如果其中一个子菜单项处于活动状态,则展开下拉菜单
- Javascript在悬停状态下制作下拉菜单 - 没有HTML中的硬编码
- 下拉菜单不想保持打开状态
- JavaScript 下拉菜单在单击时处于活动状态,在外部单击时不活动
- 在打开(活动)移动下拉菜单时将标题的位置从固定更改为相对
- Bootstrap下拉菜单–如果搜索栏集中,请保持打开状态
- 下拉菜单列表点击功能删除活动文本并添加所选文本
- 动态国家/地区状态下拉菜单
- 添加类“;活动的”;到jquery的下拉菜单
- 将动态下拉菜单重置回初始状态
- 希望在较小的窗口中保持下拉菜单的状态
- 更改jQuery UI下拉菜单's的背景颜色取决于复选框状态
- 使用array创建状态下拉菜单
- 为什么我的悬停按钮下拉菜单在我鼠标悬停时不保持打开状态
- jQuery菜单-保持菜单活动的下拉悬停