Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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
Jquery 调整手风琴以允许隐藏当前内容_Jquery_Accordion_Jquery Ui Accordion - Fatal编程技术网

Jquery 调整手风琴以允许隐藏当前内容

Jquery 调整手风琴以允许隐藏当前内容,jquery,accordion,jquery-ui-accordion,Jquery,Accordion,Jquery Ui Accordion,我有一个自定义手风琴脚本,我正试图适应另一个网站。我需要能够在打开div后关闭它,但我不知道如何修改它才能这样做 这是我的剧本: $(".accordionHidden").hide(); // Bind to Button click Event // $("a.accordionHeading").bind("click", function(e){ e.preventDefault(); // Set New Target from Button data-target

我有一个自定义手风琴脚本,我正试图适应另一个网站。我需要能够在打开
div
后关闭它,但我不知道如何修改它才能这样做

这是我的剧本:

$(".accordionHidden").hide();

// Bind to Button click Event //
$("a.accordionHeading").bind("click", function(e){
    e.preventDefault();

    // Set New Target from Button data-target Attribute //
    var $target = $("."+$(this).data("target"));

    // Prevent Slide Up / Down of Current Content //
    if ($(".accordionHidden:visible").get(0) != $target.get(0)){

        // Slide Up Content if Visible //
        if ($(".accordionHidden:visible").length){
            $(".accordionHidden").filter(":visible").slideUp("fast", function(){
                $target.slideDown("fast");
            });
        }
        else {
            $target.slideDown("fast");
        }
    }
});
我还需要能够有多个项目打开一次,不知道如果这个脚本可以这样做的时刻

演示:(添加了第二个手风琴,需要同时打开两个(或多个)

尝试
slideToggle()
方法:

$(".accordionHidden").hide();

// Bind to Button click Event //
$("a.accordionHeading").bind("click", function(e){
    e.preventDefault();

    // Set New Target from Button data-target Attribute //
    $("."+$(this).data("target")).slideToggle();
    if ($("a.accordionHeading").text() == 'Maximize') {
       $("a.accordionHeading").text("Show Less Info");
       $("a.accordionHeading").removeClass("minimize").addClass('maximize');
    } else {
        $("a.accordionHeading").addClass("minimize").removeClass('maximize').text('Maximize');
    }

});

尝试
滑动切换()
方法:

$(".accordionHidden").hide();

// Bind to Button click Event //
$("a.accordionHeading").bind("click", function(e){
    e.preventDefault();

    // Set New Target from Button data-target Attribute //
    $("."+$(this).data("target")).slideToggle();
    if ($("a.accordionHeading").text() == 'Maximize') {
       $("a.accordionHeading").text("Show Less Info");
       $("a.accordionHeading").removeClass("minimize").addClass('maximize');
    } else {
        $("a.accordionHeading").addClass("minimize").removeClass('maximize').text('Maximize');
    }

});

我们应该猜猜标记是什么吗?标记非常复杂,所以我不想在这里发布1000行代码……我将通过一个指向实时演示的链接进行更新,尽管从脚本中命名的类中应该可以清楚地看到。一个基本的accordion html树怎么会如此复杂?如果看不到基本的标记,编写简单的遍历会导致很多盲目的猜测。发布演示对不起,手风琴并不是很复杂,它是在网站上实现的。我在JSFIDLE上做了一个简单的例子,请参阅原始帖子。我们应该猜一下标记是什么吗?标记非常复杂,所以我不想在这里发布1000行代码…我将通过一个指向实时演示的链接进行更新,尽管脚本中命名的类应该很清楚。一个基本的accordion html树怎么会如此复杂?如果看不到基本的标记,编写简单的遍历会导致很多盲目的猜测。发布演示对不起,手风琴并不是很复杂,它是在网站上实现的。我在JSFIDLE上做了一个简单的示例,请参见原始的post.Close,但是文本/类的更改并没有按预期工作,我很难理解它。在尝试使用手风琴之前,我曾经认为我对jQuery非常在行,这对我来说毫无意义。lol。不幸的是,该网站处于NDA之下,所以我不能只发布代码……同一页面上有多个手风琴,它会更改每个按钮的名称,而不是单击的按钮。此外,类似乎以某种方式被交换(因此,当它最大化时,按钮得到
.minimize
,当它最小化时,按钮得到
.minimize
)类仍然被交换,文本仍然可以访问。您可以在链接到的JSFIDLE中看到它。当你点击按钮时,它得到的是最大化文本而不是“显示较少的信息”文本,然后当你最小化它时,它得到的是“显示较少的信息”文本。需要另一种方式,默认值:最大化,展开:显示较少的信息,取消展开:最大化。它确实修复了每隔一次更改按钮的问题。关闭,但是文本/类更改没有按预期工作,我很难弄清楚。在尝试使用手风琴之前,我曾经认为我对jQuery非常在行,这对我来说毫无意义。lol。不幸的是,该网站处于NDA之下,所以我不能只发布代码……同一页面上有多个手风琴,它会更改每个按钮的名称,而不是单击的按钮。此外,类似乎以某种方式被交换(因此,当它最大化时,按钮得到
.minimize
,当它最小化时,按钮得到
.minimize
)类仍然被交换,文本仍然可以访问。您可以在链接到的JSFIDLE中看到它。当你点击按钮时,它得到的是最大化文本而不是“显示较少的信息”文本,然后当你最小化它时,它得到的是“显示较少的信息”文本。需要另一种方式,默认值:最大化,展开:显示较少的信息,取消展开:最大化。不过,它确实每隔一个按钮就修改一次。