// /p/affiliate/assets/js/main.js document.addEventListener('DOMContentLoaded', function() { // Scroll to Top 기능 const scrollToTopBtn = document.getElementById('scrollToTop'); window.onscroll = function() { if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { scrollToTopBtn.style.display = 'block'; } else { scrollToTopBtn.style.display = 'none'; } }; scrollToTopBtn.addEventListener('click', function() { window.scrollTo({ top: 0, behavior: 'smooth' }); }); // 이미지 로드 에러 처리 document.querySelectorAll('.card-img-top').forEach(img => { img.onerror = function() { this.src = '/p/affiliate/assets/images/placeholder.png'; }; }); // 배너 클릭 이벤트 추적 document.querySelectorAll('.card .btn').forEach(btn => { btn.addEventListener('click', function(e) { const bannerId = this.getAttribute('data-banner-id'); // 클릭 이벤트를 비동기로 기록 fetch(`/p/affiliate/api/click.php?id=${bannerId}`, { method: 'POST' }).catch(console.error); }); }); });