// πŸ“Œ [핡심] μŠ€ν¬λ¦½νŠΈκ°€ μ—¬λŸ¬ 번 λ‘œλ“œλ˜μ–΄λ„ 단 ν•œ 번만 μ‹€ν–‰λ˜λ„λ‘ ν•˜λŠ” 'μ‹€ν–‰ κ°€λ“œ'μž…λ‹ˆλ‹€. if (typeof window.myThemeScriptLoaded === 'undefined') { // μŠ€ν¬λ¦½νŠΈκ°€ μ‹€ν–‰λ˜μ—ˆμŒμ„ μ „μ—­ λ³€μˆ˜μ— ν‘œμ‹œν•©λ‹ˆλ‹€. window.myThemeScriptLoaded = true; document.addEventListener('DOMContentLoaded', () => { // πŸ’‘ [핡심 μΆ”κ°€] 헀더 높이λ₯Ό κ³„μ‚°ν•˜μ—¬ 메인 μ½˜ν…μΈ μ˜ padding-top을 μ„€μ •ν•˜λŠ” ν•¨μˆ˜ function adjustMainContentPadding() { const header = document.getElementById('header'); const footer = document.querySelector('.main-footer'); // ν‘Έν„° 클래슀 확인 ν•„μš” const mainContent = document.querySelector('main.layout-main-content, div.layout-main-content'); if (header && mainContent) { // 1. 헀더 λ†’μ΄λ§ŒνΌ padding-top 적용 (κ²ΉμΉ¨ λ°©μ§€) const headerHeight = header.offsetHeight; mainContent.style.paddingTop = headerHeight + 'px'; // 2. ν‘Έν„°κ°€ 쀑간에 λœ¨μ§€ μ•Šλ„λ‘ min-height 계산 // ν™”λ©΄ 전체 높이(window.innerHeight)μ—μ„œ 헀더 높이와 ν‘Έν„° 높이λ₯Ό λΊλ‹ˆλ‹€. let footerHeight = 0; if (footer) { footerHeight = footer.offsetHeight; } // μ΅œμ†Œ 높이 = ν™”λ©΄ 높이 - 헀더 높이 - ν‘Έν„° 높이 // μ΄λ ‡κ²Œ ν•˜λ©΄ λ‚΄μš©μ΄ 적어도 ν‘Έν„°λŠ” 항상 ν™”λ©΄ 맨 μ•„λž˜μ— μœ„μΉ˜ν•˜κ²Œ λ©λ‹ˆλ‹€. const minHeight = window.innerHeight - headerHeight - footerHeight; if (minHeight > 0) { mainContent.style.minHeight = minHeight + 'px'; } } } // νŽ˜μ΄μ§€ λ‘œλ“œ μ‹œ μ¦‰μ‹œ μ‹€ν–‰ adjustMainContentPadding(); // λΈŒλΌμš°μ € μ°½ 크기가 변경될 λ•Œλ§ˆλ‹€ λ‹€μ‹œ μ‹€ν–‰ (λ°˜μ‘ν˜• λŒ€μ‘) window.addEventListener('resize', adjustMainContentPadding); // 이미지 λ‘œλ“œ λ“±μœΌλ‘œ 높이가 λ³€ν•  수 μžˆμœΌλ―€λ‘œ, μž μ‹œ ν›„ ν•œ 번 더 μ‹€ν–‰ setTimeout(adjustMainContentPadding, 500); // πŸ’‘ [κΈ°μ‘΄] λͺ¨λ°”일 메뉴 μ œμ–΄ 둜직 const mobileMenuToggle = document.querySelector('.mobile-menu-toggle'); const mobileNavPanel = document.querySelector('.mobile-nav-panel'); const mobileNavOverlay = document.querySelector('.mobile-nav-overlay'); const mobileMenuClose = document.querySelector('.mobile-menu-close'); const mainNavigation = document.querySelector('.main-navigation'); const mobileNavigation = document.querySelector('.mobile-navigation'); if (mobileMenuToggle && mobileNavPanel && mobileNavOverlay && mobileMenuClose && mainNavigation && mobileNavigation) { mobileNavigation.innerHTML = mainNavigation.innerHTML; const openMobileMenu = () => { mobileNavPanel.classList.add('active'); mobileNavOverlay.classList.add('active'); document.body.style.overflow = 'hidden'; }; const closeMobileMenu = () => { mobileNavPanel.classList.remove('active'); mobileNavOverlay.classList.remove('active'); document.body.style.overflow = ''; }; mobileMenuToggle.addEventListener('click', openMobileMenu); mobileMenuClose.addEventListener('click', closeMobileMenu); mobileNavOverlay.addEventListener('click', closeMobileMenu); } }); // <-- DOMContentLoaded 이벀트 λ¦¬μŠ€λ„ˆ μ’…λ£Œ // πŸ’‘ λ°°λ„ˆ 클릭 카운트 ν•¨μˆ˜λŠ” μ „μ—­ λ²”μœ„μ— μžˆμ–΄μ•Ό onclickμ—μ„œ ν˜ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€. window.banner_click_count = function(element) { try { const bn_id = element.getAttribute('data-banner-id'); if (!bn_id) return; const url = (typeof g5_url !== 'undefined' ? g5_url : '') + '/rb/rb.mod/banner/bannerhit.php?bn_id=' + bn_id; if (navigator.sendBeacon) { navigator.sendBeacon(url); } else { const xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.send(null); } } catch (e) { console.error("λ°°λ„ˆ 클릭 카운트 였λ₯˜:", e); } } }