1

我正在尝试将以下行为添加到 JQuery Accordion:

1) 根据内部页面链接 ( #section1) 激活手风琴部分。mypage.com/page.php#test这意味着如果用户访问我将使用 JS 激活该手风琴部分的 URL 。

2) 使手风琴的每个部分的标题可复制链接到将激活手风琴的所述部分的 url。因此,如果用户右键单击手风琴的“部分标题”并复制链接位置,它将放在mypage.com/page.php#test用户的剪贴板上。


我已经 1) 弄清楚了,但这是我自己编写的代码。我在搞乱这个navigation:true选项,但没有任何运气。如果有人愿意为我指出正确的方向,我更愿意使用作者的代码而不是我自己的代码,但如果没有,那么这已经完成了,没什么大不了的。

2)是我不知所措的地方。似乎 JQuery 手风琴正在将代码绑定到手风琴部分标题中任何位置的单击事件。这似乎无法为用户提供我想要的复制链接位置功能。

我的 HTML:

<div id="accordion">
   <article class="std_page_content">
    <h3><a id="#test">Test</a></h3>
    <div>
       test
    </div>
   </article>
   .....additional accordion sections....
</div>

我的Javascript:

$("#accordion").accordion({header : "h3", heightStyle : "content", /*Allows full collapse*/collapsible: true, /*collapses sections*/ active:false, navigation:true});

var theUrl = window.location.href;
var hashValue = theUrl.contains("#") ? theUrl.split('#')[1] : null;

if(hashValue != null)
{
    //open the corresponding accordion section
}
4

1 回答 1

1

只需给你的锚标签一个 href 属性:

<h3><a id="#test" href="#test">Test</a></h3>

更新:如果您希望链接覆盖整个手风琴标题,您可以将<h3>标签放在锚标签内,如下所示:http: //jsfiddle.net/3tGYB/1/

<div id="accordion">
  <article class="std_page_content">
    <a id="#test" href="#test" class="header"><h3>Test</h3></a>
    <div>
      test
    </div>
  </article>
</div>

当然改变你的javascript:

$("#accordion").accordion({header : "a.header" /*plus other options*/});
于 2013-02-04T19:07:05.037 回答