我使用简单的jquery手风琴菜单。但我希望列表中的第二项默认打开,而不是:第一项
如何做到这一点?
function initMenu()
{
$('#menu ul').hide();
$('#menu ul:first').show();
$('#menu li a').click(function()
{
var checkElement = $(this).next();
if((checkElement.is('ul')) && (checkElement.is(':visible')))
{
return false;
}
if((checkElement.is('ul')) && (!checkElement.is(':visible')))
{
$('#menu ul:visible').slideUp('normal');
checkElement.slideDown('normal');
return false;
}
});
}
$(document).ready(function() {initMenu();});
我也想知道我是否可以使用选定的课程来帮助使其更具活力:
<div id="work_menu"> <ul id="side_menu" class="nav_categories"> <li> <a href="celebratory-use">Celebratory Use</a> <ul> <li><a href="platters">Platters</a></li> <li><a href="celebratory-servers">Servers</a></li> </ul> </li> <li><a class="selected" href="daily-use">Daily Use</a> <ul> <li><a href="bowls">Bowls</a></li> <li><a href="butter-dishes">Butter Dishes</a></li> <li><a href="mugs">Mugs</a></li> </ul> </li> </ul> </div>
答案 0 :(得分:1)
尝试使用$('#menu ul:eq(1)').show();
代替$('#menu ul:first').show();
,这会将.show()
应用于ul
中的第二个元素#menu
元素。没有HTML,很难看出这是否是正确的解决方案。
为了使ul
显示在给定.selected
课程的项目之后,只要$('#menu ul:eq(1)').show();
改为$('#side_menu li > a.selected + ul').show();
,.selected
} class始终应用于<a>
。如果您希望将其应用于<li>
的另一个同级元素,请将选择器更改为$('#side_menu li .selected + ul').show();
,这可以更加通用。