简单的jQuery垂直折叠式菜单,在页面加载时扩展特定列表项
我试图弄清楚如何在页面加载时在一个简单的jQuery垂直手风琴菜单中扩展一个特定的列表项。我尝试将其添加到jquery以打开加载的第一个列表项,但它似乎不起作用:简单的jQuery垂直折叠式菜单,在页面加载时扩展特定列表项,jquery,css,accordion,Jquery,Css,Accordion,我试图弄清楚如何在页面加载时在一个简单的jQuery垂直手风琴菜单中扩展一个特定的列表项。我尝试将其添加到jquery以打开加载的第一个列表项,但它似乎不起作用: $('#nav li:first ul').show(); jQuery的其余部分是: <script type="text/javascript"> $(document).ready(function () { $('#nav > li > a').click(function(){ if (
$('#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>
$(文档).ready(函数(){
$('#nav>li>a')。单击(函数(){
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();
}
});
});
开发页面
谢谢 您是否正在寻找类似于: 开放“加纳”作为第一环
$(function(){$($('a','#nav')[0]).click();});
看起来不是jQuery手风琴,而是。上一句中的链接显示了API,看起来您希望使用以下内容:
Accordion1.openPanel(index);
我使用Chrome开发工具尝试了这一点,但没有成功,因此您可能需要确保标记正确。我没有太多的时间来研究这个问题,但希望这能为您指明正确的方向。您已将所有内容包装在
函数中。click()
函数。您的意思是希望它在页面加载时打开,但在实际单击导航项之前,这些代码都不会执行
也许你所要做的就是添加一个$('#nav>li>a.active')。下一步().show()
(我假设打开的nav项在页面加载时有活动的类(即,它通过PHP或其他方式放在那里)
另外,根据我的评论,不要使用$(this.attr('class')!='active'
使用$(this.hasClass('active')
。这将防止类中的空格出现任何问题,或者如果存在其他类,等等。此行:$('nav li:first ul')。show();
需要与jquery脚本的其余部分分开。不要使用$(this.attr('class')!='active'
使用$(this.hasClass('active'))
。这将防止类中的空格出现任何问题,或者如果存在其他类,等等。是的,因此当打开页面时,会展开“加纳”面板,显示子菜单。当我将其添加到jQuery:$(文档)。ready(函数(){$('#nav>li>a')。单击(函数(){if($(This)。attr('class')时,这似乎不起作用!='active'){$('nav li ul')。slideUp();$(this)。next()。slideToggle();$('nav li a')。removeClass('active');$(this)。addClass('active');$(function(){$($('a','nav')[0])。click();}})`抱歉,页面上实际上有两个手风琴。我指的是左侧可扩展的垂直导航。使用$(this.attr('class'))!='active'似乎打破了下拉功能。此外,导航项没有附加活动类。我只是想知道是否有一种方法可以在页面加载时扩展列表项。是的,如果它有活动类,您可以使用我概述的方法。否则,如果您希望它基于索引,您可以执行$(“#nav>li>a”).eq(index).next().show();
其中index
是要打开的项目(一个数字)。