簡體   English   中英

簡單的JQuery手風琴菜單:默認打開第二個

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM