2015-04-27 47 views
0

几周前问过这个问题,但一直没有找到解决方案 - 我是一个代码新手,所以我会尽我所能来更具体。来自外部锚链接的开放式手风琴面板

我有一个带手风琴的页面 - 它是内置为网站主题附带的简短代码。我在外部页面中有链接,这些链接带有可将您带到手风琴页面的锚定标记 - 现在,当点击这些链接时,用户将被带到该术语,但面板不会打开。我希望手风琴小组也能开放。按原样,所有面板都会在您进入页面时关闭。这里是我的代码至今去除“封闭”类时点击一个链接瓦特/锚:

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

我一直没能得到它的工作,也许我没有它在正确的位置?也许jquery一般不在页面上工作?

+0

您可以检查是否jQuery是没有在控制台上正常工作。 – cr0ss

+0

这听起来像一个wordpress页面 - 我是否正确?为什么不去手风琴的页面,当手风琴展开后再看看手风琴?这会让你知道你需要手动打开它。例如,删除'closed'类可能很好,你可能还需要添加一个'open'类......从我们在那里学到的东西,我们可以定制你的jQuery代码来做你所需要的。 – chrismillah

+0

你正在用什么来创作手风琴? – Craicerjack

回答

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)); 
    }); 
}); 
1

您也可以使用CSS,它更容易我们的新手。

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

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