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

편집 요약 없음
태그: 되돌려진 기여
(문서를 비움)
태그: 비우기 수동 되돌리기 되돌려진 기여
1번째 줄: 1번째 줄:
var observer = new MutationObserver(function(mutationsList, observer) {
    // 페이지 내용이 변경될 때마다 실행될 콜백 함수
    mutationsList.forEach(function(mutation) {
        // catlinks 요소를 찾음
        var catlinks = document.getElementById("catlinks");
        var subCatlinks = document.getElementById("mw-normal-catlinks");
        if (subCatlinks && subCatlinks.offsetHeight > 26) {
            // catlinks의 높이가 26px 이상이면 작업 수행
            subCatlinks.style.height = "25.594px";
            // catlinks 내부에 버튼 요소 추가
            var button = document.createElement("button");
            button.className = "catlinks-button";
            button.textContent = "더 보기";
            button.addEventListener("click", toggleCatlinks);
            var buttonContainer = document.createElement("div");
            buttonContainer.className = "catlinks-button-container";
            buttonContainer.appendChild(button);
            catlinks.appendChild(buttonContainer);
        }
    });
});


// MutationObserver를 문서에 등록하여 변화를 감지
observer.observe(document.body, { subtree: true, childList: true });
window.addEventListener("load", function() {
    var catlinks = document.getElementById("catlinks");
    var subCatlinks = document.getElementById("mw-normal-catlinks");
    if (subCatlinks && subCatlinks.offsetHeight > 26) {
        // catlinks의 높이가 26px 이상이면 작업 수행
        subCatlinks.style.height = "25.594px";
        // catlinks 내부에 버튼 요소 추가
        var button = document.createElement("button");
        button.className = "catlinks-button";
        button.textContent = "더 보기";
        button.addEventListener("click", toggleCatlinks);
        var buttonContainer = document.createElement("div");
        buttonContainer.className = "catlinks-button-container";
        buttonContainer.appendChild(button);
        catlinks.appendChild(buttonContainer);
    }
});
function toggleCatlinks() {
    var catlinks = document.getElementById("mw-normal-catlinks");
    var catlinksButtonContainer = document.querySelector(".catlinks-button-container");
    observer.disconnect(); // MutationObserver 일시 중지
    catlinks.style.height = ""; // 높이 속성을 없애기
    catlinksButtonContainer.remove(); // catlinks-button-container 제거
    // 다시 MutationObserver 등록
    observer.observe(document.body, { subtree: true, childList: true });
}

2025년 2월 23일 (일) 06:24 판