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

(새 문서: →‎이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다.: $(document).ready(function() { var count = 1; // 숫자 시작 $('h2, h3, h4, h5, h6').each(function() { var backLink = $('<a>') .attr('href', '#toc') // 목차 id .text(' [' + (count++) + ']') // 숫자 표시 .css({ 'font-size': 'small', 'margin-left': '10px', 'text-decoration': 'n...)
 
편집 요약 없음
 
(같은 사용자의 중간 판 15개는 보이지 않습니다)
1번째 줄: 1번째 줄:
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */
$(document).ready(function() {
$(document).ready(function() {
     var count = 1; // 숫자 시작
     var counters = [0, 0, 0, 0, 0]; // h2~h6 카운터
 
    var passedTOC = false;


     $('h2, h3, h4, h5, h6').each(function() {
     $('h2, h3, h4, h5, h6').each(function() {
         var backLink = $('<a>')
         if (!passedTOC) {
             .attr('href', '#toc')   // 목차 id
            if ($(this).prevAll('#toc').length > 0) {
             .text(' [' + (count++) + ']') // 숫자 표시
                passedTOC = true;
            } else {
                return;
            }
        }
 
        var tagName = this.tagName.toLowerCase();
        var level = parseInt(tagName.substring(1)) - 2; // h2 → 0, h3 → 1, etc.
 
        counters[level]++;
        for (var i = level + 1; i < counters.length; i++) {
            counters[i] = 0; // 하위 레벨 초기화
        }
 
        var numbering = [];
        for (var i = 0; i <= level; i++) {
            if (counters[i] !== 0) {
                numbering.push(counters[i]);
            }
        }
 
        var numberLink = $('<a>')
             .attr('href', '#toc')
             .text(numbering.join('.') + '. ')
            .addClass('mw-link') // 목차 파란색 링크
             .css({
             .css({
                'font-size': 'small',
                 'text-decoration': 'none',
                'margin-left': '10px',
                 'margin-right': '5px'
                 'text-decoration': 'none', // 밑줄 없애기
                 'color': 'gray'             // 색 살짝 변경
             });
             });


         $(this).append(backLink);
         $(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 기준 최신판

$(document).ready(function() {
    var counters = [0, 0, 0, 0, 0]; // h2~h6 카운터

    var passedTOC = false;

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

        var tagName = this.tagName.toLowerCase();
        var level = parseInt(tagName.substring(1)) - 2; // h2 → 0, h3 → 1, etc.

        counters[level]++;
        for (var i = level + 1; i < counters.length; i++) {
            counters[i] = 0; // 하위 레벨 초기화
        }

        var numbering = [];
        for (var i = 0; i <= level; i++) {
            if (counters[i] !== 0) {
                numbering.push(counters[i]);
            }
        }

        var numberLink = $('<a>')
            .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');
});