簡體   English   中英

簡單的jQuery Vertical Accordion菜單,具有特定的列表項,可在頁面加載時擴展

[英]Simple jQuery Vertical Accordion Menu with specific list item expanded on page load

我試圖弄清楚如何在頁面加載時擴展簡單jQuery垂直手風琴菜單中顯示特定列表項。 我嘗試將其添加到jQuery中以打開加載時的第一個列表項,但是它似乎不起作用:

$('#nav li:first ul').show();

jQuery的其余部分是:

<script type="text/javascript">
$(document).ready(function () {
  $('#nav > li > a').click(function(){
    if ($(this).attr('class') != 'active'){
  $('#nav li ul').slideUp();
  $(this).next().slideToggle();
  $('#nav li a').removeClass('active');
  $(this).addClass('active');
$('#nav li:first ul').show();
    }
  });
});
</script>

可以在這里查看開發頁面

謝謝!

您是否正在尋找類似的東西:

打開“加納”作為第一個鏈接?

$(function(){$($('a','#nav')[0]).click();});

看起來它不是jQuery手風琴,而是Adobe的手風琴插件 上一句中的鏈接顯示了API,看起來您想使用類似以下內容的鏈接:

Accordion1.openPanel(index);

我使用Chrome開發人員工具嘗試了此操作,但該方法無法正常工作,因此您可能要確保正確設置標記。 我沒有很多時間來研究這個問題,但是希望這能使您指出正確的方向。

您將所有內容包裝在.click()函數中。 您是說要在頁面加載時打開它,但是在實際單擊導航項之前,不會執行任何代碼。

也許您要做的就是添加$('#nav > li > a.active').next().show(); (我假設打開的導航項在頁面加載時在其中具有active類(即,它通過PHP或其他方式放置在其中)。

另外,根據我的評論,不要使用$(this).attr('class') != 'active'使用$(this).hasClass('active') 這樣可以避免班級中的空格或其他班級等出現任何問題。

這行代碼: $('#nav li:first ul').show(); 需要與其他jquery腳本分開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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