激活JQuery手风琴的不同部分

Ed *_*ron 2 jquery jquery-ui accordion

我真的很感激这个问题的任何帮助.

这是一个更长的PHP代码集的简化版本,但它仍然有问题,所以我排除了其余的原因.

手风琴正在主页面中创建.随后的HTML由包含的php文件生成.

手风琴完美地工作,唯一的问题是有时我会想要加载第二部分(部分W)而不是第一部分(部分R),这是默认行为.我已经尝试过几种我在网上找到的解决方案,但是下面的解决方案都没有.任何帮助将不胜感激.

代码:http://pastebin.com/WQfctKVx

<script type='text/javascript'>
    $(function() {
        $( "#k_accordion" ).accordion({
            autoHeight: false,
            navigation: true
        });
    });
</script>

<div id="k_accordion">
    <h3 id="sectionR"><a href="#sectionR">Section R</a></h3>
    <div>
        Content for Section R
    </div>

    <h3 id="sectionW"><a href="#sectionW">Section W</a></h3>
    <div>
        Content for Section W
    </div>

    <script language=javascript> $( "#k_accordion" ).accordion( "activate", 2);</script>
    <script language=javascript>// Gives 'is not a function' error:     $("#k_accordion").activate(2); </script>
    <script language=javascript>// $( "#k_accordion" ).accordion( "activate", "sectionW");</script>
    <script language=javascript>// $( "#k_accordion" ).accordion( "activate", "#k_accordion > div:has(#sectionW) > h3"); </script>
    <script language=javascript>// $( "#k_accordion" ).accordion( "activate", $("#h3-sectionW")); </script>
</div>
Run Code Online (Sandbox Code Playgroud)

mu *_*ort 5

active选项是您所需要的:

activeType:Boolean或Integer
默认值:0

哪个面板目前是开放的.

支持多种类型:

  • 布尔值:设置activefalse将折叠所有面板.这要求collapsible option是真实的.
  • 整数:活动(打开)的面板的从零开始的索引.负值选择从最后一个面板向后移动的面板.

如果你想打开第二个面板(例如),那么active: 1在创建手风琴时设置:

$( "#k_accordion" ).accordion({
    autoHeight: false,
    navigation: true,
    active: 1
});
Run Code Online (Sandbox Code Playgroud)

或者您可以在option创建手风琴后使用该方法更改打开的面板:

$('#k_accordion').accordion('option', 'active', 1);
Run Code Online (Sandbox Code Playgroud)

或者您可以使用以下activate方法:

$("#k_accordion").accordion('activate', 1);
Run Code Online (Sandbox Code Playgroud)

使用active选项或activate方法时,请记住两件事:

  1. 他们想要面板索引,而不是id属性.
  2. 索引是从零开始的(就像JavaScript数组一样),因此第二个面板的索引为1,而不是您尝试使用的索引.