미디어위키:Common.js: 두 판 사이의 차이

편집 요약 없음
태그: 되돌려진 기여
편집 요약 없음
 
(같은 사용자의 중간 판 4개는 보이지 않습니다)
31번째 줄: 31번째 줄:
                 return;
                 return;
             }
             }


             /*
             /*
             * =====================================================
             * =====================================================
             * 아나운서형 특수 구조 판별
             * 특수형
            *
            * 아나운서 표처럼:
            *
            * [상단 버튼 wrapper]
            * [실제 내용 패널]
            *
            * 두 요소가 같은 ID를 공유하고,
            * 실제 패널 안에 wikitable이 있는 구조
             * =====================================================
             * =====================================================
            *
            * 동일 ID가 2개 이상이고
            * 실제 패널 쪽에 wikitable이 존재하는 경우
             */
             */
             var $specialPanel = $targets.filter(function () {
             var $specialPanel = $targets.filter(function () {
53번째 줄: 59번째 줄:
                 return;
                 return;
             }
             }


             /*
             /*
66번째 줄: 73번째 줄:
         });
         });
     });
     });




78번째 줄: 86번째 줄:


         /*
         /*
         * 일반 구조:
         * 일반 MediaWiki 구조:
         *
         *
         * .mw-collapsible
         * .mw-collapsible
         *  └ .mw-collapsible-content
         *  └ .mw-collapsible-content
        *
        * content가 있으면 content만 애니메이션
         */
         */
         var $contentTarget = $target.children('.mw-collapsible-content');
         var $contentTarget = $target.children('.mw-collapsible-content');
95번째 줄: 105번째 줄:


         /*
         /*
         * 초기 접근성 상태
         * 현재 상태를 기준으로 초기 aria 설정
         */
         */
         var initiallyOpen = $animTarget.is(':visible');
         var initiallyOpen = $animTarget.is(':visible');
111번째 줄: 121번째 줄:
                 e.preventDefault();
                 e.preventDefault();
                 e.stopImmediatePropagation();
                 e.stopImmediatePropagation();


                 /*
                 /*
                 * 애니메이션 중 연타 방지
                 * 애니메이션 중 재클릭 방지
                 */
                 */
                 if ($animTarget.is(':animated')) {
                 if ($animTarget.is(':animated')) {
                     return false;
                     return false;
                 }
                 }


                 var opening = !$animTarget.is(':visible');
                 var opening = !$animTarget.is(':visible');
130번째 줄: 142번째 줄:


                     /*
                     /*
                     * MediaWiki collapsed 상태 먼저 제거
                     * MediaWiki collapsed 상태 제거
                     */
                     */
                     $target.removeClass('mw-collapsed');
                     $target.removeClass('mw-collapsed');




                    /*
                    * 내용만 펼침
                    */
                     $animTarget
                     $animTarget
                         .stop(true, false)
                         .stop(true, true)
                         .hide()
                         .hide()
                         .slideDown(220, function () {
                         .slideDown(250, function () {


                             /*
                             /*
                             * jQuery 애니메이션 잔여 스타일 정리
                             * jQuery 애니메이션 inline style 정리
                             */
                             */
                             $(this).css({
                             $(this).css({
166번째 줄: 181번째 줄:


                     $animTarget
                     $animTarget
                         .stop(true, false)
                         .stop(true, true)
                         .slideUp(220, function () {
                         .slideUp(250, function () {


                             /*
                             /*
                             * 애니메이션 완료 후 collapsed 복원
                             * 애니메이션 종료 후 collapsed 복원
                             */
                             */
                             $target.addClass('mw-collapsed');
                             $target.addClass('mw-collapsed');
201번째 줄: 216번째 줄:
     * =============================================================
     * =============================================================
     *
     *
     * DOM 구조:
     * DOM 예:
     *
     *
     * [남성 상단 버튼 wrapper]
     * [남성 버튼 wrapper]
     * [남성 실제 패널]
     * [남성 실제 패널]
     * [여성 상단 버튼 wrapper]
     * [여성 버튼 wrapper]
     * [여성 실제 패널]
     * [여성 실제 패널]
     *
     *
     * 패널 위치는 바꾸지 않는다.
     * 패널을 이동시키지 않고
    * 원래 DOM 위치에서 펼친다.
    *
    * 중요한 점:
    *
    * wrapper와 panel을 둘 다 애니메이션하지 않는다.
    *
    * 버튼 wrapper는 즉시 교체하고,
    * 실제 패널 하나만 slide 애니메이션한다.
     *
     *
     * 버튼 + 패널을 하나의 그룹으로 묶고
     * 따라서 이중 움직임이나
     * 그룹 height 하나만 animate한다.
     * 중간 겹침 현상이 최소화된다.
     * =============================================================
     * =============================================================
     */
     */
217번째 줄: 240번째 줄:


         /*
         /*
         * wikitable이 들어 있는 요소 = 실제 패널
         * wikitable이 들어 있는 요소를 실제 패널로 사용
         */
         */
         var $panel = $targets.filter(function () {
         var $panel = $targets.filter(function () {
243번째 줄: 266번째 줄:
         var $topToggle = $topWrapper.find('.' + cls).first();
         var $topToggle = $topWrapper.find('.' + cls).first();
         var $panelToggle = $panel.find('.' + cls).first();
         var $panelToggle = $panel.find('.' + cls).first();


         if (!$topToggle.length || !$panelToggle.length) {
         if (!$topToggle.length || !$panelToggle.length) {
248번째 줄: 272번째 줄:
         }
         }


        /*
        * =====================================================
        * 버튼 + 패널 그룹 생성
        * =====================================================
        */
        var $group;
        if ($topWrapper.parent().hasClass('smooth-collapsible-group')) {
            $group = $topWrapper.parent();
        } else {
            $group = $('<div class="smooth-collapsible-group"></div>');
            $group.css({
                width: '100%',
                overflow: 'hidden'
            });
            /*
            * 기존 위치에 그룹 삽입
            */
            $topWrapper.before($group);
            /*
            * DOM 순서 유지
            */
            $group.append($topWrapper);
            $group.append($panel);
        }




         /*
         /*
         * =====================================================
         * =========================================================
         * 최초 상태
         * 최초 상태
         * =====================================================
         * =========================================================
         */
         */
         $panel
         $panel
            .stop(true, true)
             .addClass('mw-collapsed')
             .addClass('mw-collapsed')
             .hide();
             .hide()
            .css({
                height: '',
                overflow: '',
                paddingTop: '',
                paddingBottom: '',
                marginTop: '',
                marginBottom: ''
            });
 
 
        $topWrapper
            .stop(true, true)
            .show()
            .css({
                height: '',
                overflow: '',
                paddingTop: '',
                paddingBottom: '',
                marginTop: '',
                marginBottom: ''
            });


        $topWrapper.show();


         $topToggle.attr('aria-expanded', 'false');
         $topToggle.attr('aria-expanded', 'false');
         $panelToggle.attr('aria-expanded', 'false');
         $panelToggle.attr('aria-expanded', 'false');




         /*
         /*
         * =====================================================
         * =========================================================
         * 상단 버튼 클릭 → 펼치기
         * 위쪽 버튼 클릭 → 펼치기
         * =====================================================
         * =========================================================
         */
         */
         $topToggle
         $topToggle
311번째 줄: 325번째 줄:


                 /*
                 /*
                 * 애니메이션 중 연타 방지
                 * 애니메이션 중 재클릭 방지
                 */
                 */
                 if ($group.is(':animated')) {
                 if ($panel.is(':animated')) {
                     return false;
                     return false;
                 }
                 }


                /*
                * 이미 열려 있으면 중단
                */
                 if ($panel.is(':visible')) {
                 if ($panel.is(':visible')) {
                     return false;
                     return false;
323번째 줄: 341번째 줄:


                 /*
                 /*
                 * 현재 접힌 상태 높이
                 * -------------------------------------------------
                * 상단 버튼 wrapper는 즉시 숨김
                *
                * wrapper 자체를 애니메이션하지 않으므로
                * 이중 움직임이 발생하지 않는다.
                * -------------------------------------------------
                 */
                 */
                 var startHeight = $group.outerHeight();
                 $topWrapper
                    .stop(true, true)
                    .hide();




                 /*
                 /*
                 * MediaWiki collapsed 상태 해제
                 * MediaWiki collapsed 상태 제거
                 */
                 */
                 $panel.removeClass('mw-collapsed');
                 $panel.removeClass('mw-collapsed');
335번째 줄: 360번째 줄:


                 /*
                 /*
                 * =================================================
                 * -------------------------------------------------
                 * 최종 패널 높이 측정
                 * 실제 패널 하나만 부드럽게 펼침
                 * =================================================
                 * -------------------------------------------------
                *
                * position:absolute 상태로 측정하여
                * 뒤쪽 여성 버튼 등이 먼저 움직이지 않게 함
                 */
                 */
                 $panel.css({
                 $panel
                    display: 'block',
                    .stop(true, true)
                     visibility: 'hidden',
                     .hide()
                     position: 'absolute',
                     .slideDown(260, function () {
                    left: 0,
                    top: 0,
                    width: '100%',
                    height: 'auto'
                });


                var endHeight = $panel.outerHeight();
                        /*
 
                        * animation 종료 후
 
                        * jQuery가 만든 inline style 정리
                /*
                        */
                * 측정 후 다시 원상복구
                        $(this).css({
                */
                            height: '',
                $panel.css({
                            overflow: '',
                    display: 'none',
                            paddingTop: '',
                    visibility: '',
                            paddingBottom: '',
                    position: '',
                            marginTop: '',
                    left: '',
                            marginBottom: ''
                    top: '',
                        });
                    width: '',
                     });
                    height: ''
                });
 
 
                /*
                * 현재 그룹 높이 고정
                */
                $group.css({
                     height: startHeight,
                    overflow: 'hidden'
                });
 
 
                /*
                * =================================================
                * 중요
                *
                * 패널 안쪽 [남성 아나운서] / [여성 아나운서]
                * 글자를 애니메이션 동안 숨김
                *
                * 상단 제목과 겹쳐 보이는 현상 방지
                * =================================================
                */
                $panelToggle.css('visibility', 'hidden');
 
 
                /*
                * 상단 버튼 제거
                */
                $topWrapper.hide();




                 /*
                 /*
                 * 실제 패널 표시
                 * ARIA
                 */
                 */
                $panel.css({
                    display: 'block'
                });
                /*
                * =================================================
                * 그룹 높이 하나만 애니메이션
                * =================================================
                */
                $group
                    .stop(true, false)
                    .animate(
                        {
                            height: endHeight
                        },
                        {
                            duration: 240,
                            easing: 'swing',
                            complete: function () {
                                /*
                                * 그룹 자동 높이 복원
                                */
                                $group.css({
                                    height: '',
                                    overflow: ''
                                });
                                /*
                                * 패널 잔여 스타일 정리
                                */
                                $panel.css({
                                    display: '',
                                    height: '',
                                    overflow: ''
                                });
                                /*
                                * 애니메이션 완료 후
                                * 패널 안쪽 제목 표시
                                */
                                $panelToggle.css(
                                    'visibility',
                                    ''
                                );
                            }
                        }
                    );
                 $topToggle.attr('aria-expanded', 'true');
                 $topToggle.attr('aria-expanded', 'true');
                 $panelToggle.attr('aria-expanded', 'true');
                 $panelToggle.attr('aria-expanded', 'true');


                 return false;
                 return false;
463번째 줄: 397번째 줄:


         /*
         /*
         * =====================================================
         * =========================================================
         * 펼쳐진 패널 안쪽 버튼 → 접기
         * 패널 안쪽 버튼 클릭 → 접기
         * =====================================================
         * =========================================================
         */
         */
         $panelToggle
         $panelToggle
476번째 줄: 410번째 줄:


                 /*
                 /*
                 * 애니메이션 중 연타 방지
                 * 애니메이션 중 재클릭 방지
                 */
                 */
                 if ($group.is(':animated')) {
                 if ($panel.is(':animated')) {
                    return false;
                }
 
                if (!$panel.is(':visible')) {
                     return false;
                     return false;
                 }
                 }
488번째 줄: 418번째 줄:


                 /*
                 /*
                 * =================================================
                 * -------------------------------------------------
                 * 안쪽 제목부터 숨김
                 * 실제 패널 하나만 접음
                 *
                 * -------------------------------------------------
                * 상단 제목과 겹쳐지는 현상 방지
                * =================================================
                 */
                 */
                 $panelToggle.css(
                 $panel
                     'visibility',
                    .stop(true, true)
                    'hidden'
                     .slideUp(260, function () {
                );


                        /*
                        * 패널을 완전히 닫은 뒤
                        * collapsed 상태 복원
                        */
                        $(this)
                            .addClass('mw-collapsed')
                            .css({
                                display: 'none',
                                height: '',
                                overflow: '',
                                paddingTop: '',
                                paddingBottom: '',
                                marginTop: '',
                                marginBottom: ''
                            });


                /*
                * 현재 펼쳐진 높이
                */
                var startHeight = $group.outerHeight();


 
                        /*
                /*
                        * -------------------------------------------------
                * =================================================
                        * 원래 상단 버튼 즉시 복귀
                * 상단 버튼의 최종 높이 측정
                        *
                * =================================================
                        * 별도 애니메이션을 하지 않기 때문에
                */
                        * 닫힘 동작도 한 번의 움직임으로 보인다.
                $topWrapper.css({
                        * -------------------------------------------------
                    display: 'block',
                        */
                    visibility: 'hidden',
                        $topWrapper
                    position: 'absolute',
                            .stop(true, true)
                    left: 0,
                            .show()
                    top: 0
                            .css({
                });
                                height: '',
 
                                overflow: '',
                var endHeight = $topWrapper.outerHeight();
                                paddingTop: '',
 
                                paddingBottom: '',
 
                                marginTop: '',
                /*
                                marginBottom: ''
                * 측정 후 다시 숨김
                            });
                */
                    });
                $topWrapper.css({
                    display: 'none',
                    visibility: '',
                    position: '',
                    left: '',
                    top: ''
                });
 
 
                /*
                * 현재 그룹 높이 고정
                */
                $group.css({
                    height: startHeight,
                    overflow: 'hidden'
                });
 
 
                /*
                * 패널 → 상단 버튼으로 교체
                */
                $panel.hide();
                $topWrapper.show();




                 /*
                 /*
                 * =================================================
                 * ARIA
                * 그룹 높이만 축소
                * =================================================
                 */
                 */
                $group
                    .stop(true, false)
                    .animate(
                        {
                            height: endHeight
                        },
                        {
                            duration: 240,
                            easing: 'swing',
                            complete: function () {
                                /*
                                * 패널을 완전히 접힌 상태로 복원
                                */
                                $panel
                                    .addClass('mw-collapsed')
                                    .css({
                                        display: 'none',
                                        height: '',
                                        overflow: ''
                                    });
                                /*
                                * 상단 wrapper 정리
                                */
                                $topWrapper.css({
                                    display: '',
                                    height: '',
                                    overflow: ''
                                });
                                /*
                                * 그룹 정리
                                */
                                $group.css({
                                    height: '',
                                    overflow: ''
                                });
                                /*
                                * 다음에 다시 펼칠 때를 위해
                                * 패널 안쪽 제목 visibility 복구
                                */
                                $panelToggle.css(
                                    'visibility',
                                    ''
                                );
                            }
                        }
                    );
                 $topToggle.attr('aria-expanded', 'false');
                 $topToggle.attr('aria-expanded', 'false');
                 $panelToggle.attr('aria-expanded', 'false');
                 $panelToggle.attr('aria-expanded', 'false');


                 return false;
                 return false;

2026년 8월 20일 (목) 15:13 기준 최신판

/* MediaWiki:Common.js */
mw.hook('wikipage.content').add(function ($content) {

    var initialized = {};

    $content.find('[class*="mw-customtoggle-"]').each(function () {
        var classList = (this.className || '').split(/\s+/);

        classList.forEach(function (cls) {
            if (cls.indexOf('mw-customtoggle-') !== 0) {
                return;
            }

            var suffix = cls.substring('mw-customtoggle-'.length);

            if (initialized[suffix]) {
                return;
            }

            initialized[suffix] = true;

            var targetId = 'mw-customcollapsible-' + suffix;

            /*
             * 중복 ID가 있을 수 있으므로
             * #id 대신 attribute selector 사용
             */
            var $targets = $content.find('[id="' + targetId + '"]');

            if (!$targets.length) {
                return;
            }


            /*
             * =====================================================
             * 특수형
             *
             * 아나운서 표처럼:
             *
             * [상단 버튼 wrapper]
             * [실제 내용 패널]
             *
             * 두 요소가 같은 ID를 공유하고,
             * 실제 패널 안에 wikitable이 있는 구조
             * =====================================================
             */
            var $specialPanel = $targets.filter(function () {
                return $(this).find('table.wikitable').length > 0;
            });

            if ($targets.length > 1 && $specialPanel.length) {
                initStackedCollapsible(
                    $content,
                    cls,
                    $targets
                );

                return;
            }


            /*
             * =====================================================
             * 일반 MediaWiki collapsible
             * =====================================================
             */
            initNormalCollapsible(
                $content,
                cls,
                $targets.first()
            );
        });
    });



    /*
     * =============================================================
     * 일반 펼치기 · 접기
     * =============================================================
     */
    function initNormalCollapsible($content, cls, $target) {

        var $toggles = $content.find('.' + cls);

        /*
         * 일반 MediaWiki 구조:
         *
         * .mw-collapsible
         *   └ .mw-collapsible-content
         *
         * content가 있으면 content만 애니메이션
         */
        var $contentTarget = $target.children('.mw-collapsible-content');

        if (!$contentTarget.length) {
            $contentTarget = $target.find('.mw-collapsible-content').first();
        }

        var $animTarget = $contentTarget.length
            ? $contentTarget
            : $target;


        /*
         * 현재 상태를 기준으로 초기 aria 설정
         */
        var initiallyOpen = $animTarget.is(':visible');

        $toggles.attr(
            'aria-expanded',
            initiallyOpen ? 'true' : 'false'
        );


        $toggles
            .off('click.smoothSlide')
            .on('click.smoothSlide', function (e) {

                e.preventDefault();
                e.stopImmediatePropagation();


                /*
                 * 애니메이션 중 재클릭 방지
                 */
                if ($animTarget.is(':animated')) {
                    return false;
                }


                var opening = !$animTarget.is(':visible');


                /*
                 * -------------------------------------------------
                 * 펼치기
                 * -------------------------------------------------
                 */
                if (opening) {

                    /*
                     * MediaWiki collapsed 상태 제거
                     */
                    $target.removeClass('mw-collapsed');


                    /*
                     * 내용만 펼침
                     */
                    $animTarget
                        .stop(true, true)
                        .hide()
                        .slideDown(250, function () {

                            /*
                             * jQuery 애니메이션 inline style 정리
                             */
                            $(this).css({
                                height: '',
                                overflow: '',
                                paddingTop: '',
                                paddingBottom: '',
                                marginTop: '',
                                marginBottom: ''
                            });
                        });


                    $toggles.attr('aria-expanded', 'true');
                }


                /*
                 * -------------------------------------------------
                 * 접기
                 * -------------------------------------------------
                 */
                else {

                    $animTarget
                        .stop(true, true)
                        .slideUp(250, function () {

                            /*
                             * 애니메이션 종료 후 collapsed 복원
                             */
                            $target.addClass('mw-collapsed');

                            $(this).css({
                                display: 'none',
                                height: '',
                                overflow: '',
                                paddingTop: '',
                                paddingBottom: '',
                                marginTop: '',
                                marginBottom: ''
                            });
                        });


                    $toggles.attr('aria-expanded', 'false');
                }


                return false;
            });
    }



    /*
     * =============================================================
     * 아나운서형 특수 펼치기 · 접기
     * =============================================================
     *
     * DOM 예:
     *
     * [남성 버튼 wrapper]
     * [남성 실제 패널]
     * [여성 버튼 wrapper]
     * [여성 실제 패널]
     *
     * 패널을 이동시키지 않고
     * 원래 DOM 위치에서 펼친다.
     *
     * 중요한 점:
     *
     * wrapper와 panel을 둘 다 애니메이션하지 않는다.
     *
     * 버튼 wrapper는 즉시 교체하고,
     * 실제 패널 하나만 slide 애니메이션한다.
     *
     * 따라서 이중 움직임이나
     * 중간 겹침 현상이 최소화된다.
     * =============================================================
     */
    function initStackedCollapsible($content, cls, $targets) {

        /*
         * wikitable이 들어 있는 요소를 실제 패널로 사용
         */
        var $panel = $targets.filter(function () {
            return $(this).find('table.wikitable').length > 0;
        }).first();

        if (!$panel.length) {
            return;
        }


        /*
         * 실제 패널이 아닌 동일 ID 요소 중
         * 해당 toggle을 포함하는 요소 = 상단 버튼 wrapper
         */
        var $topWrapper = $targets.not($panel).filter(function () {
            return $(this).find('.' + cls).length > 0;
        }).first();

        if (!$topWrapper.length) {
            return;
        }


        var $topToggle = $topWrapper.find('.' + cls).first();
        var $panelToggle = $panel.find('.' + cls).first();


        if (!$topToggle.length || !$panelToggle.length) {
            return;
        }



        /*
         * =========================================================
         * 최초 상태
         * =========================================================
         */
        $panel
            .stop(true, true)
            .addClass('mw-collapsed')
            .hide()
            .css({
                height: '',
                overflow: '',
                paddingTop: '',
                paddingBottom: '',
                marginTop: '',
                marginBottom: ''
            });


        $topWrapper
            .stop(true, true)
            .show()
            .css({
                height: '',
                overflow: '',
                paddingTop: '',
                paddingBottom: '',
                marginTop: '',
                marginBottom: ''
            });


        $topToggle.attr('aria-expanded', 'false');
        $panelToggle.attr('aria-expanded', 'false');



        /*
         * =========================================================
         * 위쪽 버튼 클릭 → 펼치기
         * =========================================================
         */
        $topToggle
            .off('click.smoothSlide')
            .on('click.smoothSlide', function (e) {

                e.preventDefault();
                e.stopImmediatePropagation();


                /*
                 * 애니메이션 중 재클릭 방지
                 */
                if ($panel.is(':animated')) {
                    return false;
                }


                /*
                 * 이미 열려 있으면 중단
                 */
                if ($panel.is(':visible')) {
                    return false;
                }


                /*
                 * -------------------------------------------------
                 * 상단 버튼 wrapper는 즉시 숨김
                 *
                 * wrapper 자체를 애니메이션하지 않으므로
                 * 이중 움직임이 발생하지 않는다.
                 * -------------------------------------------------
                 */
                $topWrapper
                    .stop(true, true)
                    .hide();


                /*
                 * MediaWiki collapsed 상태 제거
                 */
                $panel.removeClass('mw-collapsed');


                /*
                 * -------------------------------------------------
                 * 실제 패널 하나만 부드럽게 펼침
                 * -------------------------------------------------
                 */
                $panel
                    .stop(true, true)
                    .hide()
                    .slideDown(260, function () {

                        /*
                         * animation 종료 후
                         * jQuery가 만든 inline style 정리
                         */
                        $(this).css({
                            height: '',
                            overflow: '',
                            paddingTop: '',
                            paddingBottom: '',
                            marginTop: '',
                            marginBottom: ''
                        });
                    });


                /*
                 * ARIA
                 */
                $topToggle.attr('aria-expanded', 'true');
                $panelToggle.attr('aria-expanded', 'true');


                return false;
            });



        /*
         * =========================================================
         * 패널 안쪽 버튼 클릭 → 접기
         * =========================================================
         */
        $panelToggle
            .off('click.smoothSlide')
            .on('click.smoothSlide', function (e) {

                e.preventDefault();
                e.stopImmediatePropagation();


                /*
                 * 애니메이션 중 재클릭 방지
                 */
                if ($panel.is(':animated')) {
                    return false;
                }


                /*
                 * -------------------------------------------------
                 * 실제 패널 하나만 접음
                 * -------------------------------------------------
                 */
                $panel
                    .stop(true, true)
                    .slideUp(260, function () {

                        /*
                         * 패널을 완전히 닫은 뒤
                         * collapsed 상태 복원
                         */
                        $(this)
                            .addClass('mw-collapsed')
                            .css({
                                display: 'none',
                                height: '',
                                overflow: '',
                                paddingTop: '',
                                paddingBottom: '',
                                marginTop: '',
                                marginBottom: ''
                            });


                        /*
                         * -------------------------------------------------
                         * 원래 상단 버튼 즉시 복귀
                         *
                         * 별도 애니메이션을 하지 않기 때문에
                         * 닫힘 동작도 한 번의 움직임으로 보인다.
                         * -------------------------------------------------
                         */
                        $topWrapper
                            .stop(true, true)
                            .show()
                            .css({
                                height: '',
                                overflow: '',
                                paddingTop: '',
                                paddingBottom: '',
                                marginTop: '',
                                marginBottom: ''
                            });
                    });


                /*
                 * ARIA
                 */
                $topToggle.attr('aria-expanded', 'false');
                $panelToggle.attr('aria-expanded', 'false');


                return false;
            });
    }

});