You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript实现选中汉堡菜单选项后自动关闭菜单

问题原因

现有代码仅监听了汉堡图标的点击事件来切换菜单状态,没有绑定菜单内导航选项的点击事件,点击选项时不会触发菜单收起逻辑,所以菜单会保持打开状态。

修复代码

在原有代码基础上新增导航链接的点击事件即可,完整代码如下:

$('.js--nav-icon').click(function() {  
  var nav = $('.js--main-nav');  
  var icon = $('.js--nav-icon ion-icon');  
  nav.slideToggle(200);  
  icon.attr('name', icon.attr('name') === 'menu-outline' ? 'close-outline' : 'menu-outline');
});

// 新增导航项点击收起逻辑
$('.js--main-nav a').click(function() {
  var nav = $('.js--main-nav');  
  var icon = $('.js--nav-icon ion-icon');
  // 仅菜单处于展开状态时触发收起操作
  if (nav.is(':visible')) {
    nav.slideToggle(200);
    icon.attr('name', 'menu-outline');
  }
});

如果你的导航是锚点跳转类的单页交互,上述代码可以直接生效;如果是跨页跳转的普通链接,页面会自动重载,也可以去掉可见性判断直接执行收起逻辑。

内容的提问来源于stack exchange,提问作者Sebweb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:54:06