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

편집 요약 없음
태그: 되돌려진 기여
편집 요약 없음
태그: 수동 되돌리기
41번째 줄: 41번째 줄:
   redirectedFromElement.innerHTML = redirectedFromElement.innerHTML.replace(/[()]/g, '').trim();
   redirectedFromElement.innerHTML = redirectedFromElement.innerHTML.replace(/[()]/g, '').trim();
}
}
// 클릭 시 접거나 펼치는 기능
document.querySelector('.mw-collapsible').addEventListener('click', function () {
  const collapsibleElement = this;
  // 상태에 따라 클래스를 토글
  if (collapsibleElement.classList.contains('mw-collapsed')) {
    collapsibleElement.classList.remove('mw-collapsed');
    collapsibleElement.classList.add('mw-made-collapsible');
  } else {
    collapsibleElement.classList.remove('mw-made-collapsible');
    collapsibleElement.classList.add('mw-collapsed');
  }
});

2024년 12월 9일 (월) 18:28 판

/* 이 자바스크립트 설정은 리버티 스킨을 사용하는 사용자에게 적용됩니다 */
// 화면 크기가 변경될 때마다 실행되는 함수
function adjustLayout() {
  const header = document.querySelector('.liberty-content-header');
  const title = document.querySelector('.liberty-content-header .title');
  const contentTools = document.querySelector('.liberty-content-header .content-tools');
  const contentSub = document.querySelector('.liberty-content-header .contentSub');

  // 조건이 맞는지 확인
  if (!header || !title || !contentTools || !contentSub) return;

  if (window.innerWidth <= 1022.4) {
    // 화면 크기가 1022.4px 이하일 경우, title → content-tools → contentSub 순으로 배치
    if (header.firstChild !== title) {
      // 순서를 변경
      header.appendChild(title);        // title을 첫 번째로 배치
      header.appendChild(contentTools); // content-tools를 두 번째로 배치
      header.appendChild(contentSub);   // contentSub를 세 번째로 배치
    }
  } else {
    // 화면 크기가 1022.4px 이상일 경우, 원래 순서로 복원
    if (header.firstChild !== contentTools) {
      // 원래 순서대로 복원
      header.prepend(contentTools);  // content-tools을 첫 번째로 배치
      header.appendChild(title);     // title을 두 번째로 배치
      header.appendChild(contentSub); // contentSub를 세 번째로 배치
    }
  }
}

// 페이지 로드 시와 창 크기 변경 시 실행
window.addEventListener('load', adjustLayout);
window.addEventListener('resize', adjustLayout);

// "mw-redirectedfrom" 클래스를 가진 요소 찾기
const redirectedFromElement = document.querySelector('.mw-redirectedfrom');

// 해당 요소가 존재하면
if (redirectedFromElement) {
  // 텍스트에서 괄호와 괄호 안의 내용을 제거하고 남은 부분만 수정
  redirectedFromElement.innerHTML = redirectedFromElement.innerHTML.replace(/[()]/g, '').trim();
}