链接到特定的jQuery手风琴UI

时间:2012-04-18 00:18:39

标签: jquery accordion

我正在使用jQuery手风琴UI - http://jqueryui.com/demos/accordion/ ...并希望链接到页脚中的特定手风琴,以便链接将您带到特定页面并打开特定的手风琴。

在插件中,标题是链接,所以我添加了:name =“contact”然后我链接到/ pagename #contact但它不会打开手风琴所以它使它毫无意义。

我该怎么办?谢谢

3 个答案:

答案 0 :(得分:0)

我很确定你应该为你要链接的手风琴项目的内容制作标题<a href="#contact">

此外,你必须设置这样的手风琴:.accordion({ navigation:true })

修改:http://jsfiddle.net/M5JQn/

答案 1 :(得分:0)

来自:http://jqueryui.com/demos/accordion/#method-activate

.accordion(“激活”,索引)

以编程方式激活Accordion的内容部分。索引可以是零索引数,以匹配要关闭的标头的位置或匹配元素的选择器。

传递false以关闭所有(只能使用collapsible:true)。

所以当点击页脚中的链接时:     onclick“打开页面; $('accname')。accordion('activate',2)”

更新: 因为激活就像点击一样,每次它都不会一直打开它所以你必须首先得到它的状态,使用:     if($('#accordion')。accordion('option','active')!= 1){$('#accordionp')。accordion('option','active',1);} 这将确保每次你去它时它都是开放的。

答案 2 :(得分:0)

忘了我下面说的话。这是除了jquery ui之外的一般方法。 有一种更好的方式正如“Joe Flateau”所提到的那样,this就是一个很好的例子。


在文档中有这样的东西。 这是你需要的吗?     $(“。selector”)。accordion({active:2});

您可以定义一个数组:

var pages=new Array(); 
pages['main']=1;
pages['contact']=2;
pages['help']=3;
//and whatsoever

然后,您可以使用url hash中的信息打开该页面:

var hash = window.location.hash
$( ".selector" ).accordion({ active: pages[hash] });