0

我有一个可以展开和折叠元素的脚本 - 我添加了折叠/展开所有项目。但是,如果部署了一个成员并单击全部展开-它将最小化/向上滑动

如何编写代码以最小化和最大化展开或折叠的元素?

<script type=\"text/javascript\"> 
$(document).ready(function ($){
        $('.splLink').click(function(){  
            $(this).parent().children('div.splCont').slideToggle('normal');



            if ( $(this).hasClass('active') ) {
                $(this).parent('.cat-root').removeClass('active-h2');
                $(this).removeClass('active');
                $(this).parent('.name').removeClass('active-name');
                }
            else {
                $(this).parent('.cat-root').addClass('active-h2');
                $(this).addClass('active');
                $(this).parent('.name').addClass('active-name');
                }
            return false;
        });




});
        function showAll(){

            $('.splLink').parent().children('div.splCont').slideToggle('normal');

            if ( $('.splLink').hasClass('active') ) {

                $('.splLink').parent('.cat-root').removeClass('active-h2');
                $('.splLink').removeClass('active');
                $('.splLink').parent('.name').removeClass('active-name');
                $('.btn').html('Развернуть');
                }
            else {

                $('.splLink').parent('.cat-root').addClass('active-h2');
                $('.splLink').addClass('active');
                $('.splLink').parent('.name').addClass('active-name');
                $('.btn').html('Свернуть');
                }

            return false;
            }

</script>
4

1 回答 1

0
if ($("div.splCont:visible").length > $("div.splCont:hidden").length) {
  $('.splLink').parent().children('div.splCont').slideUp('normal');
} else {
  $('.splLink').parent().children('div.splCont').slideDown('normal');
}

如果可见元素的数量大于隐藏的数量,那么一切都会向上滑动并被折叠。否则,一切都会滑下来并显示出来。

于 2013-02-05T17:26:48.717 回答