HEX
Server: Microsoft-IIS/10.0
System: Windows NT WIN8095 10.0 build 20348 (Windows Server 2016) AMD64
User: kytoffice-001 (0)
PHP: 7.4.30
Disabled: exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,show_source
Upload Files
File: h:/root/home/kytoffice-001/www/expresstinou/wp-content/themes/home_1772500334/js/header-scroll.js
document.addEventListener('DOMContentLoaded', function() {
    const header = document.getElementById('masthead');

    // If the header element doesn't exist, do nothing.
    if (!header) {
        return;
    }

    let lastScrollTop = 0;
    let isScrolling = false;

    // 防抖函数
    function debounce(func, wait) {
        let timeout;
        return function executedFunction(...args) {
            const later = () => {
                clearTimeout(timeout);
                func(...args);
            };
            clearTimeout(timeout);
            timeout = setTimeout(later, wait);
        };
    }

    function handleScroll() {
        const currentScrollTop = window.pageYOffset || document.documentElement.scrollTop;

        // 如果在页面顶部,始终显示header
        if (currentScrollTop <= 0) {
            header.classList.remove('header-hidden');
            header.classList.add('header-visible');
            lastScrollTop = currentScrollTop;
            return;
        }

        // 滚动距离小于header高度时不隐藏
        if (currentScrollTop < 100) {
            header.classList.remove('header-hidden');
            header.classList.add('header-visible');
            lastScrollTop = currentScrollTop;
            return;
        }

        // 向下滚动 - 隐藏header
        if (currentScrollTop > lastScrollTop && !header.classList.contains('header-hidden')) {
            header.classList.remove('header-visible');
            header.classList.add('header-hidden');
        }
        // 向上滚动 - 显示header
        else if (currentScrollTop < lastScrollTop && !header.classList.contains('header-visible')) {
            header.classList.remove('header-hidden');
            header.classList.add('header-visible');
        }

        lastScrollTop = currentScrollTop;
    }

    // 使用防抖优化滚动性能
    const debouncedHandleScroll = debounce(handleScroll, 10);

    // 添加滚动监听器
    window.addEventListener('scroll', debouncedHandleScroll, { passive: true });

    // 初始状态
    header.classList.add('header-visible');
});