链接到打开jQuery Accordion
我正试图从外部链接打开手风琴div。 我看到“navigation:true”选项,但我不确定如何实现它。 你给每个div一个id并调用这样的链接? http://domain.com/link#anchorid
我是jQuery的新手所以请耐心等待。 这是我正在使用的代码,如果它有帮助。
$(function(){ $("#accordion").accordion({ header: "h2", autoHeight: false, animated: false, navigation: true }); }); Services
More information about all of these services
导航选项不适用于面板激活。 这是为了告诉用户他们在哪里。
使用简化的html代码:
您将唯一ID放在标题中的超链接中
然后jQuery(简化):
“navigation:true”将使您可以访问www.site.com/#about,从而选择“关于”面板。 对于激活,有两种方法。 也许一种方法是获取查询字符串并将其放入jQuery中。
用C#
$("#accordion").accordion("activate", '<%= Request.QueryString["id"] %>');
用PHP
$("#accordion").accordion("activate", '');
这将允许您指定由www.site.com?id=2打开哪个面板
许多这些答案所引用的navigation
选项在jQuery UI 1.9中已弃用 ,在1.10中已删除 。 给出的理由是:
默认情况下禁用此function,这只是您可能想要确定在初始化时激活哪个面板的众多方法之一。 因此,我们不赞成仅仅处理手风琴之外的逻辑并适当地设置有效选项。
因此,使用较新版本的jQuery UI的编码人员需要编写自己的代码来处理此function。
对于我的网站,我在
标记之前使用JavaScript switch
语句完成了此操作。 (我不是一个经验丰富的编码员,所以其他人应该随意改进这个答案。)
这是相应的HTML:
Preschool
Preschool content Kindergarten
Kindergarten content 1st Grade
First grade content
哈,破解它。
使用php get方法。 但是上面的一个错误。 $(“#accordion”)。accordion(“activate”,”);
php代码需要删除引号。
现在就开始享受吧。
干杯
伊恩
使用服务器端语言,检查该#anchor的查询并使用它来填写激活语句。
从我正在研究的东西中提取:
$("#search_forms").accordion("activate", "{$this->open_form}");
编辑:
我无法直接链接到手风琴方法blurb,但这会让你接近:
这对我有用……
var hash = window.location.hash; $("#accordion").accordion("activate", hash);
$("a").click(function(event){ var hash = window.location.hash; $("#accordion").accordion("activate", hash); });
这适用于jquery 1.8.3和jqueryui 1.9.1,但似乎不适用于jqueryui 1.10.0
不知道为什么……