jQuery UI手风琴激活

10

我不太清楚如何做这件事,也不确定我是否能做到。我有一个jQuery UI手风琴,其中包含多个部分,每个部分都包含多个锚点标签,每个标签都有唯一的字符串ID。

我想要实现手风琴打开到特定元素的位置,比如说id为"item117"的元素。我可以使用类似于

$('#accordion').activate('activate','#item117');

甚至可以

$('#accordion').activate('activate',117);

我试过那些方法和一些变化,但是不能让它工作。在我尝试让它工作的情况下,手风琴应该展开到第二节的末尾。


我仍然不明白这个问题,所以可能我还做错了其他事情。我已将其简化为一个示例页面:http://www.ofthejungle.com/testaccordion.php 请查看它和它的源代码。


你是否正在使用最新的jQuery UI版本?我相信该函数以前是change而不是activate - Basic
请注意,这个问题是在2009年提出的。在查看答案时,请检查回复的日期以确定是否适用于您。 - eflat
13个回答

0

这里有另一种方法。

在手风琴的每个 H3 标题标签中包含一个 ID="someId",并命名这些 ID 为唯一值。

例如,此 ID 将位于系列“AccjA”中,下一个 h4 将是“AccjB”:

<h4 class="Accj" id="AccjA">
       <a href="#settings">A Fan?</a>
</h4>

然后使用以下代码激活您希望的任何面板:

    $('#Accjoin').accordion('activate', '#AccjoinA')

我曾经使用上述内容,结合Ben Alman的".doTimeout"函数,在页面加载后延迟2秒,设置超时以引起用户的注意。

$.doTimeout(2000, function () {
    $('#Accjoin').accordion('activate', '#AccjoinA')
});

以上代码在1.9版本中已经无法使用。 正如Jeremy Zerr所指出的那样,jQuery 1.9+有一个不同的setter! http://api.jqueryui.com/accordion/#option-active - Martin Sansone - MiOEE

-1
观看 jQuery API
激活 . 中包含的手风琴的第二个内容。
$(".selector").activate(1)

关闭手风琴的所有内容部分。
$(".selector").activate(false)

激活与给定表达式匹配的第一个元素。

$(".selector").activate("a:first")

-2
$('#collapseOne').collapse('toggle');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接