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