【问题标题】:Keep all parts of an accordion open保持手风琴的所有部分打开
【发布时间】:2016-04-21 00:33:28
【问题描述】:

我的网站上有this code,我希望当我点击另一个项目时保持打开状态,我的意思是,巴西已经在我的列表中打开,我想要的是当用户点击意大利时,不要巴西崩了,意大利才开了。

<script type="text/javascript">

$('.country > .countrybar').click(function() {

var checkElement = $(this).next();

$('.country > .countrybar').removeClass('active');
$(this).closest('.country > .countrybar').addClass('active');   

if((checkElement.is('.country > .countrycontent')) && (checkElement.is(':visible'))) {
    $(this).closest('.country > .countrybar').removeClass('active');
    checkElement.slideUp('fast');
}

if((checkElement.is('.country > .countrycontent')) && (!checkElement.is(':visible'))) {
    $('.country > .countrycontent:visible').slideUp('fast');
    checkElement.slideDown('fast');
}

if (checkElement.is('.country > .countrycontent')) {
    return false;
} else {
    return true;    
}

}); $('.countrycontent > .leaguebar').click(function() {

var checkElement = $(this).next();

$('.countrycontent > .leaguebar').removeClass('active');
$(this).closest('.countrycontent > .leaguebar').addClass('active'); 

if((checkElement.is('.countrycontent > .leaguecontent')) && (checkElement.is(':visible'))) {
    $(this).closest('.countrycontent > .leaguebar').removeClass('active');
    checkElement.slideUp('fast');
}

if((checkElement.is('.countrycontent > .leaguecontent')) && (!checkElement.is(':visible'))) {
    $('.countrycontent > .leaguecontent:visible').slideUp('fast');
    checkElement.slideDown('fast');
}

if (checkElement.is('.countrycontent > .leaguecontent')) {
    return false;
} else {
    return true;    
}

});

【问题讨论】:

    标签: jquery accordion jquery-ui-accordion


    【解决方案1】:

    你的意思是this?我删除了一些检查其他内容是否可见的代码。如果是这样,它会向上滑动……现在除非你点击它,否则它不会发生。

    但是您自己编写了这段代码吗?还是您从其他人那里复制/粘贴的?

    $('.country > .countrybar').click(function() {
    
        var checkElement = $(this).next();
    
        //$('.country > .countrybar').removeClass('active');
        $(this).closest('.country > .countrybar').addClass('active');   
    
        if((checkElement.is('.country > .countrycontent')) && (checkElement.is(':visible'))) {
            //$(this).closest('.country > .countrybar').removeClass('active');
            checkElement.slideUp('fast');
        }
    
        if((checkElement.is('.country > .countrycontent')) && (!checkElement.is(':visible'))) {
            //$('.country > .countrycontent:visible').slideUp('fast');
            checkElement.slideDown('fast');
        }
    
        if (checkElement.is('.country > .countrycontent')) {
            return false;
        } else {
            return true;    
        }
    });
    $('.countrycontent > .leaguebar').click(function() {
    
        var checkElement = $(this).next();
    
        $('.countrycontent > .leaguebar').removeClass('active');
        $(this).closest('.countrycontent > .leaguebar').addClass('active'); 
    
        if((checkElement.is('.countrycontent > .leaguecontent')) && (checkElement.is(':visible'))) {
            $(this).closest('.countrycontent > .leaguebar').removeClass('active');
            checkElement.slideUp('fast');
        }
    
        if((checkElement.is('.countrycontent > .leaguecontent')) && (!checkElement.is(':visible'))) {
            $('.countrycontent > .leaguecontent:visible').slideUp('fast');
            checkElement.slideDown('fast');
        }
    
        if (checkElement.is('.countrycontent > .leaguecontent')) {
            return false;
        } else {
            return true;    
        }
    });
    

    【讨论】:

    • 这是一个怪物,有些部分是复制的,有些部分是写的。
    • @EderAugusto,好的,试试代码并检查问题中的小提琴。这就是你想要的对吧?
    【解决方案2】:

    检查我的代码:https://jsfiddle.net/628qzvo6/

    $('.country > .countrybar').click(function() {
    
        var checkElement = $(this).next();
    
        //$('.country > .countrybar').removeClass('active');
        $(this).closest('.country > .countrybar').addClass('active');   
    
        if((checkElement.is('.country > .countrycontent')) && (checkElement.is(':visible'))) {
            //$(this).closest('.country > .countrybar').removeClass('active');
            checkElement.slideUp('fast');
        }
    
        if((checkElement.is('.country > .countrycontent')) && (!checkElement.is(':visible'))) {
            //$('.country > .countrycontent:visible').slideUp('fast');
            checkElement.slideDown('fast');
        }
    
        if (checkElement.is('.country > .countrycontent')) {
            return false;
        } else {
            return true;    
        }
    });
    $('.countrycontent > .leaguebar').click(function() {
    
        var checkElement = $(this).next();
    
        $('.countrycontent > .leaguebar').removeClass('active');
        $(this).closest('.countrycontent > .leaguebar').addClass('active'); 
    
        if((checkElement.is('.countrycontent > .leaguecontent')) && (checkElement.is(':visible'))) {
            $(this).closest('.countrycontent > .leaguebar').removeClass('active');
            checkElement.slideUp('fast');
        }
    
        if((checkElement.is('.countrycontent > .leaguecontent')) && (!checkElement.is(':visible'))) {
            $('.countrycontent > .leaguecontent:visible').slideUp('fast');
            checkElement.slideDown('fast');
        }
    
        if (checkElement.is('.countrycontent > .leaguecontent')) {
            return false;
        } else {
            return true;    
        }
    });
    

    【讨论】:

    • 你检查过小提琴和效果吗?
    • 打开这个小提琴看看效果
    • 是的!你得救了吗?
    • 与我提出问题的链接相同,没有任何变化。也许你不保存,是吗?
    猜你喜欢
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多