繁体   English   中英

手风琴拨动开关

[英]Accordion toggle open/close

抱歉,如果问了无数次,但是我有一个手风琴可以工作,但是我需要它来切换当前打开的元素。 就目前而言,它不会关闭当前打开的元素。

看我的codepen

Javascript:

function accordion() {
    var allPanels = $('.accordion > dd').hide();

    $('.accordion > dt > a').on('click', function(e) {
        e.preventDefault();

        allPanels.slideUp(100);
        $(this).parent().next().slideDown(100);
        return false;
    });
}

accordion();

您应该检查选项卡是否已经打开。 如果它是打开的,则单击标题,然后单击slideUp。 如果不是,请像您已经做过的那样使用slideDown。

要检查元素是否可见,可以使用.is(":visible")

您可以使用:

 if($(this).parent().next().is(":visible") ){

            $(this).parent().next().slideUp(100);
    }
    else{
            $(this).parent().next().slideDown(100);
    }

DEMO

你可以这样做

$(this).parent().next().slideToggle(100);      
allPanels.not($(this).parent().next()).slideUp(100);

DEMO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM