【发布时间】:2014-12-20 02:20:57
【问题描述】:
我想在我的网站上使用this expand/collapse jQuery menu,但我需要嵌套更多级别。仅将 a 嵌套到我要扩展的子菜单项中,这似乎不起作用。有没有人幸运地做到了这一点?
更新:到目前为止我的代码...
HTML
<div id='cssmenu'>
<ul>
<li><a href='http://google.com'><span>Home</span></a></li>
<li><a href='http://google.com'><span>Products</span></a>
<ul>
<li><a href='http://google.com'>Widgets</a></li>
<li class="has-sub active"><a href='http://google.com'><span>Menus</span></a>
<ul>
<li><a href='http://google.com'>Widgets</a></li>
<li><a href='#'>Menus</a></li>
<li><a href='#'>Products</a></li>
</ul>
</li>
<li><a href='#'>Products</a></li>
</ul>
</li>
<li><a href='#'><span>Company</span></a>
<ul>
<li><a href='#'>About</a></li>
<li><a href='#'>Location</a></li>
</ul>
</li>
<li><a href='#'><span>Contact</span></a></li>
</ul>
</div>
jQuery
$(document).ready(function(){
$('#cssmenu > ul > li:has(ul)').addClass("has-sub");
$('#cssmenu > ul > li > a').click(function() {
var checkElement = $(this).next();
$('#cssmenu li').removeClass('active');
$(this).closest('li').addClass('active');
if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
$(this).closest('li').removeClass('active');
checkElement.slideUp('normal');
}
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#cssmenu ul ul:visible').slideUp('normal');
checkElement.slideDown('normal');
}
if (checkElement.is('ul')) {
return false;
} else {
return true;
}
});
});
【问题讨论】:
-
发布到目前为止您尝试的代码。
标签: jquery menu collapse expand