Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从外部锚链打开手风琴面板_Javascript_Jquery_Html - Fatal编程技术网

Javascript 从外部锚链打开手风琴面板

Javascript 从外部锚链打开手风琴面板,javascript,jquery,html,Javascript,Jquery,Html,几个星期前我问过这个问题,但一直没有找到解决方案——我是一个代码新手,所以我会尽我所能更具体一些 我有一个带有手风琴的页面,它是作为网站主题附带的短代码内置的。我在外部页面中有链接,这些链接带有锚定标签,可以将您带到手风琴页面-现在,当单击这些链接时,用户将被带到术语,但面板不会打开。我想手风琴的面板也打开。按原样,当您进入页面时,所有面板都将关闭。以下是我迄今为止在单击带有锚的链接时删除“closed”类的代码: var anchor = window.location.hash.substr

几个星期前我问过这个问题,但一直没有找到解决方案——我是一个代码新手,所以我会尽我所能更具体一些

我有一个带有手风琴的页面,它是作为网站主题附带的短代码内置的。我在外部页面中有链接,这些链接带有锚定标签,可以将您带到手风琴页面-现在,当单击这些链接时,用户将被带到术语,但面板不会打开。我想手风琴的面板也打开。按原样,当您进入页面时,所有面板都将关闭。以下是我迄今为止在单击带有锚的链接时删除“closed”类的代码:

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

我没能让它工作,也许我没有把它放在正确的位置?也许jquery在页面上一般不起作用?

我想你的问题的答案是:

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

假设jQuerUI的手风琴

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

API:

您必须将手风琴的父包装器(此处为.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) );
    });
});

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

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

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

您可以检查jQuery在控制台上是否工作正常。这听起来像wordpress页面-我说的对吗?你为什么不去手风琴页面,看看手风琴展开时的样子??这将使您了解手动打开它需要做什么。例如,删除“关闭”类可能很好,您可能还需要添加一个“打开”类。。。根据我们在那里学到的知识,我们可以定制您的jquery代码以满足您的需要。您使用什么创建手风琴?您可以使用fav浏览器的开发人员工具轻松发现您的问题。下面是如何在和中使用的教程