/* 酷冰甲降温服 · 前台交互 */ (function () { 'use strict'; // 明暗切换 var root = document.documentElement; var toggle = document.getElementById('themeToggle'); if (toggle) { toggle.addEventListener('click', function () { var cur = root.getAttribute('data-theme') === 'dark' ? 'light' : 'dark'; root.setAttribute('data-theme', cur); try { localStorage.setItem('site_theme', cur); } catch (e) {} }); } // 滚动时 header 阴影 var header = document.getElementById('siteHeader'); function onScroll() { if (header) header.classList.toggle('scrolled', window.scrollY > 10); } window.addEventListener('scroll', onScroll, { passive: true }); onScroll(); // 移动端菜单 var burger = document.getElementById('navBurger'); var links = document.getElementById('navLinks'); if (burger && links) { burger.addEventListener('click', function () { links.classList.toggle('open'); }); links.addEventListener('click', function (e) { if (e.target.tagName === 'A') links.classList.remove('open'); }); } // 滚动揭示 var io = new IntersectionObserver(function (entries) { entries.forEach(function (en) { if (en.isIntersecting) { en.target.classList.add('in'); io.unobserve(en.target); } }); }, { threshold: 0.12 }); document.querySelectorAll('.reveal').forEach(function (el, i) { el.style.transitionDelay = (i % 6) * 60 + 'ms'; io.observe(el); }); // 磁性按钮 document.querySelectorAll('.magnetic').forEach(function (el) { el.addEventListener('mousemove', function (e) { var r = el.getBoundingClientRect(); var x = e.clientX - r.left - r.width / 2; var y = e.clientY - r.top - r.height / 2; el.style.transform = 'translate(' + x * 0.18 + 'px,' + y * 0.28 + 'px)'; }); el.addEventListener('mouseleave', function () { el.style.transform = ''; }); }); })();