main
xgkblog/admin/views/footer.php
footer.php1.4 KB
<script>
    // 侧边栏开关逻辑
    const menuToggle = document.getElementById('menuToggle');
    const sidebar = document.getElementById('sidebar');
    const overlay = document.getElementById('overlay');

    // 增加安全检查,防止元素未找到时报错
    if (menuToggle && sidebar && overlay) {
        function toggleSidebar() {
            sidebar.classList.toggle('active');
            overlay.classList.toggle('active');
        }

        menuToggle.addEventListener('click', toggleSidebar);
        overlay.addEventListener('click', toggleSidebar);
    }

    // 侧边栏菜单点击高亮逻辑
    const navLinks = document.querySelectorAll('#sidebarNav a');
    
    navLinks.forEach(link => {
        link.addEventListener('click', function() {
            // 1. 移除所有链接的 active 状态
            navLinks.forEach(l => l.classList.remove('active'));
            
            // 2. 给当前点击的链接添加 active 状态
            this.classList.add('active');
            
            // 3. 如果是移动端,点击后自动收起侧边栏
            if (window.innerWidth <= 768 && sidebar) {
                sidebar.classList.remove('active');
                overlay.classList.remove('active');
            }
            
            // 注意:这里不再使用 e.preventDefault(),允许 <a> 标签正常跳转
        });
    });
</script>