[英]Simple JQuery Accordion menu: open second by default
我正在使用一個簡單的jQuery Accordian菜單。 但是我希望列表中的第二項默認為打開,而不是:first
如何才能做到這一點?
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>
嘗試$('#menu ul:eq(1)').show();
而不是$('#menu ul:first').show();
這將適用.show()
到第二元件ul
在元件#menu
。 如果沒有HTML,將很難看出這是否是正確的解決方案。
為了使其顯示給定.selected
類的項之后的ul
,請更改$('#menu ul:eq(1)').show();
.selected
到$('#side_menu li > a.selected + ul').show();
,只要.selected
類始終應用於<a>
。 如果希望將其應用於<li>
另一個同級元素,則將選擇器更改為$('#side_menu li .selected + ul').show();
,這更具通用性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.