当我打开一个手风琴时,如何在多个部分中关闭所有其他手风琴.

How to close all other accordions in multiple sections when I open one?

本文关键字:手风琴 个部 其他 一个      更新时间:2023-09-26

编辑:我找到了不使用jQuery UI手风琴的解决方案: Jquery 切换(单击以显示一个div,同时隐藏其他div)

JSFiddle:http://jsfiddle.net/sy34v/(不要介意左边的空格,可能是因为禁用了列表编号)

如果我打开一个手风琴,比如说在"列表

窗口 1"上,即使我在"列表窗口 2"中单击另一个手风琴,它也会保持打开状态.

所以如果我有4个手风琴

部分,可以打开4个手风琴.如何使整个页面上只能打开一个手风琴,如果我打开另一个手风琴,那么最后一个手风琴将关闭?它仅在手风琴部分内工作。

这是jQuery:

$(document).ready(function () {
    $(".listWindow").accordion({
        header: ".accordionHeader",
        collapsible: true,
        active: false
    });
});

试试这个解决方案。

http://jsfiddle.net/rm7fD/

$(document).ready(function () {
var titleClicked = "";
$(".listWindow").accordion({
    header: ".accordionHeader",
    collapsible: true,
    active: false,
    activate: function( event, ui ) {
        var title = $(this).find(".title").html(); 
        setTimeout(function(){
            if(titleClicked == title){
                $(".listWindow").each(function(){
                    if ($(this).find(".title").html() != title){                       
                        $(this).accordion("option", "active", false);
                    }
                });
           }
        }, 100);
    }
});  
$(".siteTitle").click(function () {
    event.stopPropagation();        
});
$(".accordionWrapper").click(function(){        
    titleClicked = $(this).closest(".listWindow").find(".title").text();
});
});

你试过这种方法吗?

$(function() {
    var $accordions = $(".listWindow").accordion({
        header: ".accordionHeader",
        collapsible: true,
        active: false
    }).on('click', function() {
        $accordions.not(this).accordion('activate', false);
    });
});

基于:如果其他手风琴在 jquery 中打开,则关闭手风琴