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

편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 9개는 보이지 않습니다)
1번째 줄: 1번째 줄:
$(document).ready(function() {
$(document).ready(function() {
     var count = 1;
     var counters = [0, 0, 0, 0, 0]; // h2~h6 카운터
     var startNumbering = false;
 
     var passedTOC = false;


     $('h2, h3, h4, h5, h6').each(function() {
     $('h2, h3, h4, h5, h6').each(function() {
         var $this = $(this);
         if (!passedTOC) {
            if ($(this).prevAll('#toc').length > 0) {
                passedTOC = true;
            } else {
                return;
            }
        }


         // 목차를 만났으면 그 이후부터 번호 매기기 시작
         var tagName = this.tagName.toLowerCase();
         if ($this.attr('id') === 'toc') {
         var level = parseInt(tagName.substring(1)) - 2; // h2 → 0, h3 → 1, etc.
             startNumbering = true;
 
            return; // 목차 자체는 건너뛰기
        counters[level]++;
        for (var i = level + 1; i < counters.length; i++) {
             counters[i] = 0; // 하위 레벨 초기화
         }
         }


         // 목차 만난 이후부터 번호 매기기
         var numbering = [];
         if (startNumbering) {
         for (var i = 0; i <= level; i++) {
            var backLink = $('<a>')
            if (counters[i] !== 0) {
                .attr('href', '#toc')
                 numbering.push(counters[i]);
                 .text(count + '. ')
            }
                .addClass('mw-link')
        }
                .css({
                    'text-decoration': 'none',
                    'margin-right': '5px'
                });


             $this.prepend(backLink);
        var numberLink = $('<a>')
             count++;
            .attr('href', '#toc')
             .text(numbering.join('.') + '. ')
            .addClass('mw-link') // 목차 파란색 링크
            .css({
                'text-decoration': 'none',
                'margin-right': '5px'
            });
 
        $(this).prepend(numberLink);
    });
});
 
 
 
 
 
$(document).ready(function() {
    // 처음부터 전부 펼쳐진 상태로 시작
    $('h2, h3, h4, h5, h6').each(function() {
        var content = $(this).nextUntil('h2, h3, h4, h5, h6');
        content.show(); // 처음에는 다 펼쳐져 있음
    });
 
    // 소제목 클릭 시
    $('h2, h3, h4, h5, h6').click(function() {
        // 클릭한 제목의 바로 아래 내용(주로 p, div 등)을 선택
        var content = $(this).nextUntil('h2, h3, h4, h5, h6');
 
        // 애니메이션 없이 즉시 펼쳐지거나 접힘
        content.toggle(); // 애니메이션 없이 바로 토글
 
        // 접힌 소제목의 투명도 낮추기
        if (content.is(':visible')) {
             $(this).css('opacity', '1'); // 펼쳐졌을 때 불투명하게
        } else {
            $(this).css('opacity', '0.6'); // 접혔을 때 투명하게
         }
         }
     });
     });
    // 클릭할 수 있도록 커서 스타일 변경
    $('h2, h3, h4, h5, h6').css('cursor', 'pointer');
});
});

2025년 4월 26일 (토) 22:14 기준 최신판