优化调整
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
import { navLinks } from '../data.js';
|
||||
|
||||
export const createNavLinks = (menuId, isMobile) => {
|
||||
const menu = document.getElementById(menuId);
|
||||
if (!menu) return;
|
||||
|
||||
navLinks.forEach(link => {
|
||||
const a = document.createElement('a');
|
||||
a.href = link.href;
|
||||
a.textContent = link.name;
|
||||
if (isMobile) {
|
||||
a.className = 'text-xl text-text-dark hover:text-tech-blue transition-colors';
|
||||
} else {
|
||||
a.className = 'text-base font-medium text-text-medium hover:text-tech-blue transition-colors';
|
||||
if (window.location.pathname.endsWith('/' + link.href) ||
|
||||
(window.location.pathname === '/' && link.href === 'index.html')) {
|
||||
a.classList.add('text-tech-blue', 'font-semibold');
|
||||
}
|
||||
}
|
||||
menu.appendChild(a);
|
||||
});
|
||||
};
|
||||
|
||||
export const handleHeaderScroll = () => {
|
||||
const header = document.getElementById('main-header');
|
||||
if (!header) return;
|
||||
|
||||
if (window.scrollY > 10) {
|
||||
header.classList.add('scrolled');
|
||||
} else {
|
||||
header.classList.remove('scrolled');
|
||||
}
|
||||
};
|
||||
|
||||
export const setupMobileMenu = () => {
|
||||
const mobileMenuButton = document.getElementById('mobile-menu-button');
|
||||
const mobileMenu = document.getElementById('mobile-menu');
|
||||
if (mobileMenuButton && mobileMenu) {
|
||||
mobileMenuButton.addEventListener('click', () => {
|
||||
mobileMenu.classList.toggle('hidden');
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
export const initializeSharedUI = () => {
|
||||
createNavLinks('nav-menu', false);
|
||||
createNavLinks('mobile-nav-menu', true);
|
||||
window.addEventListener('scroll', handleHeaderScroll);
|
||||
setupMobileMenu();
|
||||
|
||||
if (typeof lucide !== 'undefined') {
|
||||
lucide.createIcons();
|
||||
}
|
||||
};
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
initializeSharedUI();
|
||||
});
|
||||
Reference in New Issue
Block a user