从外部锚链开启手风琴面板

时间:2015-04-27 17:10:36

标签: javascript jquery html

几个星期前问过这个问题,但一直未找到解决方案 - 我是代码新手,所以我会尽力做到更具体。

我有一个带手风琴的页面 - 它内置为网站主题附带的短代码。我在外部页面中有链接,这些链接具有锚标记,可以将您带到手风琴页面 - 现在,当单击这些链接时,用户将被带到该术语但面板无法打开。我希望手风琴组也能打开。按原样,当您到达页面时,所有面板都将关闭。这是我到目前为止删除带有锚点链接的“封闭”类的代码:

var anchor = window.location.hash.substring(1);
$('.' + anchor).removeClass('su-spoiler-closed');

我无法让它工作,也许我没有在正确的位置?也许jquery一般不在页面上工作?

3 个答案:

答案 0 :(得分:1)

你也可以使用CSS,这对我们新手来说更容易。

/*accordion ids' unhide*/
    #id:target{
        display:block;
    }
/* end css */

链接:www.website.com/page.htm#id

答案 1 :(得分:0)

我认为你问题的答案在这里:jquery open accordion from link

您只需要从当前网址获取哈希内容并更改手风琴。

答案 2 :(得分:0)

  

假设jQuerUI的手风琴

基本上,您希望在加载时监听操作并使用API​​来设置所需的元素。

API:http://api.jqueryui.com/accordion/#option-active

你必须将手风琴的父包装(此处为.parent)分类才能使这个选择器语法起作用:

$(function(){
    var anchor = window.location.hash.substring(1);

    $('.parent a[href$="' + anchor+ '"]').ready(function() {
          var index = $(this).parent().children().index(this);
          $( ".parent" ).accordion( "option", "active", parseInt(index,10) );
    });
});