简单的jQuery Vertical Accordion菜单,在页面加载时扩展了特定的列表项

时间:2012-08-15 00:28:03

标签: jquery css accordion

我试图弄清楚如何在页面加载时展开的简单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>

开发页面can be viewed here.

三江源!

4 个答案:

答案 0 :(得分:0)

你是否在寻找类似的东西:

开放&#34;加纳&#34;作为它的第一个链接?

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

答案 1 :(得分:0)

看起来它不是jQuery手风琴,而是an accordion plugin from Adobe。上一句中的链接显示了API,看起来您想要使用类似的内容:

Accordion1.openPanel(index);

我使用Chrome开发工具尝试过此操作但无法正常工作,因此您可能需要确保标记正确无误。我没有太多时间来研究这个问题,但希望这会让你指出正确的方向。

答案 2 :(得分:0)

您拥有.click()功能所包含的所有内容。您说要在页面加载时打开它,但在实际点击导航项之前,不会执行任何代码。

也许你所要做的就是添加一个$('#nav > li > a.active').next().show();(我假设打开的导航项在页面加载时有active类(即它通过PHP或其他东西放在那里)。 / p>

另外,根据我的评论,请勿使用$(this).attr('class') != 'active'代替$(this).hasClass('active')。这样可以防止类中的空格出现任何问题,或者是否存在其他类等问题。

答案 3 :(得分:0)

这一行:$('#nav li:first ul').show();需要与jquery脚本的其余部分分开。