efl*_*lat 10 jquery accordion jquery-ui-accordion
我不知道怎么做,或者我能做到这一点.我有一个jQuery UI Accordion,多个部分,每个部分包含多个锚标记,每个锚标记都有一个唯一的字符串id.
我希望能够将手风琴打开到具有给定id的特定元素的位置.比如说id"item117".我可以使用类似的东西吗?
$('#accordion').activate('activate','#item117');
Run Code Online (Sandbox Code Playgroud)
甚至
$('#accordion').activate('activate',117);
Run Code Online (Sandbox Code Playgroud)
我尝试了这些和一些变化,但无法让它去.在我试图开始工作的情况下,手风琴应该打开到第二部分的末尾.
我还没有得到这个,所以也许我也做错了.我已将其删除到示例页面:http://www.ofthejungle.com/testaccordion.php 请查看它及其来源.
Pem*_*tor 12
已经过了这个并找到了很好的通用解决方案
- 模拟按其ID 点击所需项目的标题
$('#header-of-item-258').click();
Run Code Online (Sandbox Code Playgroud)
随时随地工作,而不仅仅是手风琴
小智 12
来自文档:
// getter
var active = $( ".selector" ).accordion( "option", "active" );
// setter
$( ".selector" ).accordion( "option", "active", 2 );
Run Code Online (Sandbox Code Playgroud)
这最终对我有用:
$("#accordion").accordion("activate", $("#h3-id"));
Run Code Online (Sandbox Code Playgroud)
注意!!!id必须是您要打开的<h3>元素的id(在默认的折叠设置中).
您需要使用名为的函数调用它accordion:
// Open the third set (zero based index)
$('#accordion').accordion('activate', 2);
Run Code Online (Sandbox Code Playgroud)
要打开包含特定元素的部分,您可以执行类似的操作.注意:您需要定位通常打开和关闭该部分的触发器.在文档中,这是一个h3元素,您的触发元素可能不同,因此请相应地更改它.
$('#accordion').accordion('activate', '#accordion > div:has(#item117) > h3');
Run Code Online (Sandbox Code Playgroud)
尝试
$('#accordion').activate('#item117');
Run Code Online (Sandbox Code Playgroud)
或者
$('#accordion').activate(document.getElementById('item117'));
Run Code Online (Sandbox Code Playgroud)
激活手风琴的正确语法是
$(".selector").activate(var index)
Run Code Online (Sandbox Code Playgroud)
其中索引是字符串、元素、布尔值、数字、JQuery