From b470952e5e5f6eeba8c2233c625a5606a5dd7644 Mon Sep 17 00:00:00 2001 From: HouTeng Chan <ht-chen21@mails.tsinghua.edu.cn> Date: Tue, 1 Oct 2024 08:45:59 +0000 Subject: [PATCH] Update file menu.html --- wiki/menu.html | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/wiki/menu.html b/wiki/menu.html index 7e8831d6..2d59179a 100644 --- a/wiki/menu.html +++ b/wiki/menu.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Navigation Bar</title> <style> - .my-nav { + .my-nav { background-color: rgba(255, 228, 225, 0.95); padding: 10px 0; position: fixed; @@ -22,7 +22,7 @@ } .hamburger { - display: none; + display: none; /* 默认éšè— */ font-size: 30px; cursor: pointer; margin-left: 15px; @@ -99,6 +99,7 @@ box-shadow: 0 4px 10px rgba(250, 128, 114, 0.3); } +/* å“应å¼è®¾è®¡ */ @media (max-width: 768px) { .my-nav { height: auto; @@ -107,16 +108,20 @@ } .hamburger { - display: block; + display: block; /* æ˜¾ç¤ºæ±‰å ¡èœå• */ } .my-navbar { flex-direction: column; align-items: flex-start; - display: none; + display: none; /* 默认éšè—导航èœå• */ width: 100%; } + .my-navbar.show-menu { + display: flex; /* 显示导航èœå• */ + } + .my-navbar > li { width: 100%; margin: 5px 0; @@ -129,7 +134,7 @@ .my-navbar > li > ul.son { position: static; - display: none; + display: none; /* 默认éšè—åèœå• */ width: 100%; opacity: 1; box-shadow: none; @@ -139,7 +144,7 @@ } .my-navbar > li.show > ul.son { - display: block; + display: block; /* 显示åèœå• */ } .son li a { @@ -226,25 +231,35 @@ } } } - // æ·»åŠ èœå•切æ¢åŠŸèƒ½ + // 修改èœå•切æ¢åŠŸèƒ½ function toggleMenu(){ var navbar = document.getElementById('my-navbar'); - if(navbar.style.display === 'flex' || navbar.style.display === ''){ - navbar.style.display = 'none'; - } else { - navbar.style.display = 'flex'; - } + navbar.classList.toggle('show-menu'); } - // 移动端点击展开åèœå• + var navItems = document.querySelectorAll('.my-navbar > li'); navItems.forEach(function(item){ - item.addEventListener('click', function(){ + item.addEventListener('click', function(e){ if(window.innerWidth <= 768){ + + e.preventDefault(); this.classList.toggle('show'); } }); }); + + // 监å¬çª—å£å¤§å°å˜åŒ–,é‡ç½®å¯¼èˆªèœå•çŠ¶æ€ + window.addEventListener('resize', function() { + var navbar = document.getElementById('my-navbar'); + if(window.innerWidth > 768){ + navbar.classList.remove('show-menu'); + // 移除所有èœå•项的 'show' ç±» + navItems.forEach(function(item){ + item.classList.remove('show'); + }); + } + }); </script> </body> </html> \ No newline at end of file -- GitLab