【发布时间】:2014-01-22 02:30:24
【问题描述】:
我有以下 HTML 和 JS。当您单击.slidedown-toggle 时,它会在其父级 (.slidedown) 上切换类“打开”并将高度应用于其兄弟级 (.nav-sub)。这是有效的,但是当“开放”类不存在时,将高度设置回 0 是无效的。我错过了什么?
HTML
<li class="slidedown">
<a href="#">Parent Link</a>
<!-- Dropdown arrow -->
<span class="slidedown-toggle">
<span class="caret"></span>
</span>
<!-- Submenu -->
<ul class="nav nav-sub">
<li>
<a href="#">Child Menu Item 1</a>
</li>
</ul>
</li>
JS
$(function navCollapse(){
var slidedownToggle = $( '#global-nav .slidedown-toggle' );
slidedownToggle.click( function() {
var slidedown = $(this).parent( '.slidedown' );
var navOpen = $( '#global-nav li.open' );
var subnav = $(this).siblings( '.nav-sub' );
var subnavHeight = subnav.height();
slidedown.toggleClass( 'open' );
if (navOpen){
subnav.height( subnavHeight );
}else{
subnav.height( 0 );
}
});
});
【问题讨论】:
标签: javascript jquery