diff --git a/web_frontend/web_result/index.html b/web_frontend/web_result/index.html index 7e7e5375..4811997e 100644 --- a/web_frontend/web_result/index.html +++ b/web_frontend/web_result/index.html @@ -118,47 +118,7 @@ @@ -599,6 +559,7 @@ + \ No newline at end of file diff --git a/web_frontend/web_result/js/nav-component.js b/web_frontend/web_result/js/nav-component.js new file mode 100644 index 00000000..2b390bf1 --- /dev/null +++ b/web_frontend/web_result/js/nav-component.js @@ -0,0 +1,140 @@ +// 导航组件 - 统一管理所有页面的导航栏 +(function() { + // 检测当前页面路径,自动调整链接 + const currentPath = window.location.pathname; + const isInPagesFolder = currentPath.includes('/pages/'); + const currentPage = currentPath.split('/').pop() || 'index.html'; + + // 导航项配置 + const navItems = [ + { href: 'index.html', icon: 'fa-home', text: '首页', id: 'index' }, + { href: 'overview.html', icon: 'fa-info-circle', text: '展会概览', id: 'overview' }, + { href: 'exhibition.html', icon: 'fa-th-large', text: '展览内容', id: 'exhibition' }, + { href: 'marketing.html', icon: 'fa-bullhorn', text: '营销推广', id: 'marketing' }, + { href: 'operation.html', icon: 'fa-cogs', text: '运营服务', id: 'operation' }, + { href: 'budget.html', icon: 'fa-chart-pie', text: '预算分析', id: 'budget' }, + { href: 'risk.html', icon: 'fa-shield-alt', text: '风险评估', id: 'risk' } + ]; + + // 根据当前页面位置调整路径 + function getCorrectPath(href) { + if (href === 'index.html') { + return isInPagesFolder ? '../index.html' : 'index.html'; + } else { + return isInPagesFolder ? href : `pages/${href}`; + } + } + + // 判断是否为当前激活页面 + function isActive(href) { + return currentPage === href || + (currentPage === '' && href === 'index.html'); + } + + // 生成导航HTML + function generateNavHTML() { + return ` +
+
+
+
+ +
+
+

NEVIT 2024

+

新能源汽车产业博览会

+
+
+ + +
+
+ + + `; + } + + // 初始化导航 + function initNav() { + const navElement = document.querySelector('nav') || document.getElementById('navbar'); + if (navElement) { + // 保留原有的class和id + const originalClasses = navElement.className; + const originalId = navElement.id; + + // 更新导航内容 + navElement.innerHTML = generateNavHTML(); + + // 恢复原有属性 + if (originalClasses) navElement.className = originalClasses; + if (originalId) navElement.id = originalId; + + // 添加移动端菜单交互 + const mobileMenuButton = document.getElementById('mobile-menu-button'); + const mobileMenu = document.getElementById('mobile-menu'); + + if (mobileMenuButton && mobileMenu) { + mobileMenuButton.addEventListener('click', () => { + mobileMenu.classList.toggle('hidden'); + }); + + // 点击菜单项后关闭移动端菜单 + mobileMenu.querySelectorAll('a').forEach(link => { + link.addEventListener('click', () => { + mobileMenu.classList.add('hidden'); + }); + }); + } + + // 添加滚动效果 + let lastScrollTop = 0; + window.addEventListener('scroll', () => { + const scrollTop = window.pageYOffset || document.documentElement.scrollTop; + + if (scrollTop > lastScrollTop && scrollTop > 100) { + // 向下滚动 - 隐藏导航 + navElement.style.transform = 'translateY(-100%)'; + } else { + // 向上滚动 - 显示导航 + navElement.style.transform = 'translateY(0)'; + } + + // 添加背景效果 + if (scrollTop > 50) { + navElement.classList.add('bg-white/95', 'backdrop-blur-md'); + } else { + navElement.classList.remove('bg-white/95', 'backdrop-blur-md'); + } + + lastScrollTop = scrollTop; + }); + } + } + + // DOM加载完成后初始化 + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initNav); + } else { + initNav(); + } +})(); \ No newline at end of file diff --git a/web_frontend/web_result/pages/budget.html b/web_frontend/web_result/pages/budget.html index be474237..e115b638 100644 --- a/web_frontend/web_result/pages/budget.html +++ b/web_frontend/web_result/pages/budget.html @@ -225,37 +225,7 @@ @@ -1117,5 +1087,6 @@ counterObserver.observe(el); }); + \ No newline at end of file diff --git a/web_frontend/web_result/pages/exhibition.html b/web_frontend/web_result/pages/exhibition.html index c0f50ee7..5e33e2af 100644 --- a/web_frontend/web_result/pages/exhibition.html +++ b/web_frontend/web_result/pages/exhibition.html @@ -114,45 +114,7 @@ @@ -831,5 +793,6 @@ } }); + \ No newline at end of file diff --git a/web_frontend/web_result/pages/marketing.html b/web_frontend/web_result/pages/marketing.html index 62b6dc65..64ed0c4c 100644 --- a/web_frontend/web_result/pages/marketing.html +++ b/web_frontend/web_result/pages/marketing.html @@ -117,45 +117,7 @@ @@ -813,5 +775,6 @@ + \ No newline at end of file diff --git a/web_frontend/web_result/pages/operation.html b/web_frontend/web_result/pages/operation.html index 20725b9a..2550b1bc 100644 --- a/web_frontend/web_result/pages/operation.html +++ b/web_frontend/web_result/pages/operation.html @@ -146,45 +146,7 @@ @@ -1413,5 +1375,6 @@ observer.observe(el); }); + \ No newline at end of file diff --git a/web_frontend/web_result/pages/overview.html b/web_frontend/web_result/pages/overview.html index 039c85fb..18bb132a 100644 --- a/web_frontend/web_result/pages/overview.html +++ b/web_frontend/web_result/pages/overview.html @@ -84,45 +84,7 @@ @@ -519,5 +481,6 @@ + \ No newline at end of file diff --git a/web_frontend/web_result/pages/risk.html b/web_frontend/web_result/pages/risk.html index 1e032acf..18c4857f 100644 --- a/web_frontend/web_result/pages/risk.html +++ b/web_frontend/web_result/pages/risk.html @@ -217,39 +217,7 @@ @@ -1072,5 +1040,6 @@ progressObserver.observe(bar); }); + \ No newline at end of file