import { log } from 'console'; import React, { useState, useRef, useEffect } from 'react'; import './scroll.css'; const Navbar: React.FC = () => { const [activeIndex, setActiveIndex] = useState(1); // 当前选中的导航项索引 const [parallelogramStyle, setParallelogramStyle] = useState({ left: 0, width: 0 }); const navRef = useRef(null); const list = ['首页', '烽火动态', '烽火铸魂', '练兵备战', '兵情热线', '综合服务']; // 文章数据 const articles = [ { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: false, }, { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: false, }, { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: false, }, { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: true, }, { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: true, }, { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: false, }, { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: true, }, { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: false, }, { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: false, }, { date: { month: '11', day: '2025-02' }, title: '记者从16日召开的海南省政府新闻发布会上获悉,2018年,海南旅游总收入达1,262人次,支出达399.7亿元...', isHighlighted: false, }, ]; const handleNavClick = (index: number) => { setActiveIndex(index + 1); // 更新当前选中的索引 }; // 计算平行四边形的位置和宽度 useEffect(() => { if (navRef.current) { const navItems = navRef.current.children; if (navItems[activeIndex]) { const activeItem = navItems[activeIndex] as HTMLElement; const navRect = navRef.current.getBoundingClientRect(); const itemRect = activeItem.getBoundingClientRect(); setParallelogramStyle({ left: itemRect.left - navRect.left, width: itemRect.width, }); } } }, [activeIndex]); return (
{/* 顶部导航栏区域 */}
{/* 左侧搜索框区域 */}
{/* 右侧导航菜单 */}
{/* 主要内容区域 */}
{/* 左侧内容 */}

1111

{/* 右侧烽火要闻容器 */}
{/* 标题栏 */}

烽火要闻

{/* 文章列表 */}
{articles.map((article, index) => (
{/* 左侧竖线和日期 */}
{article.date.month}
{article.date.day}
{/* 右侧文章内容 */}

{article.title}【MORE】

))}
{/*
*/}
); }; export default Navbar;