单击菜单项时显示导航下拉菜单
Showing nav dropdown when menu item is clicked
我喜欢Twitter的引导,但不需要所有的功能。在它是一个下拉功能,我试图复制。
这是我的HTML:<nav class="navigation" role="navigation">
<ul class="a">
<li><a class="" href="">Page 1</a></li>
<li><a class="" href="">Page 2</a></li>
<li>
<a class="" href="">Page 3</a>
<ul class="drop_down">
<li><a href="#">List 1</a></li>
<li><a href="#">List 2</a></li>
<li class="nav_divider"></li>
<li><a href="#">List 3</a></li>
<li><a href="#">List 4</a></li>
<li><a href="#">List 5</a></li>
</ul>
</li>
<li><a class="" href="">Page 4</a></li>
<li><a class="" href="">Page 5</a></li>
</ul>
</nav>
我的javascript到目前为止(它不是很多):
$('nav.navigation li a').on('click', function() {
if( $('nav.navigation li').has('ul.drop_down') ) {
// Don't know how to add class to the clicked item,
// and not all 'a' in the nav.
}
});
$('nav.navigation li a').on('click', function(e) {
if($(this).parent().has('ul.drop_down')) {
$(this).siblings('ul.drop_down').addClass("className");
e.preventDefault();
}
});
调用e.preventDefault();
将阻止重定向,因为我认为当您只想显示下拉菜单时,您不会希望这样做。
$('nav.navigation li a').on('click', function(event) {
if( $('nav.navigation li').has('ul.drop_down') ) {
// Don't know how to add class to the clicked item,
alert(event.target.id); //here do stuff with that id
}
});
首先应该是
$(function(){
$('nav.navigation li a').on('click', function() {
var $this = $(this);
if( $this.parent('li').children('ul.drop_down').length ) {
$this.addClass('someclass');
}
});
});
演示:恰好
相关文章:
- jQuery侧导航下拉菜单
- jQuery导航下拉菜单未显示..任何想法
- 使用触摸启动导航下拉菜单,以实现 IOS 功能
- 下拉菜单获胜'不要出现在导航栏上
- 如何使用引导程序显示另一个导航栏而不是下拉菜单
- 侧导航栏下拉菜单
- JavaScript:列表项中的导航栏下拉菜单
- 隐藏在导航栏中的下拉菜单
- 下拉菜单溢出在引导导航栏内不起作用
- 引导导航下拉菜单不起作用
- 如何创建具有下拉菜单的完整长度导航菜单
- 第四模式阻止导航栏下拉菜单正常工作
- 导航栏中的引导下拉菜单不起作用
- 修复导航栏'的下拉菜单
- 引导程序导航栏折叠下拉菜单
- IE7与导航下拉菜单(3级)CSS/Javascript的兼容性问题
- Bootstrap 3.2-显示所有屏幕尺寸的折叠导航-下拉菜单消失
- 需要在导航下拉菜单上强制容器的边缘
- 单击菜单项时显示导航下拉菜单
- Z-Index分层问题,内容在导航下拉菜单的上方