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

点击菜单切换子菜单:如何移除其他元素的show类并添加到目标元素

解决子类别菜单重叠显示问题

你的问题出在每次点击只给对应子菜单添加show类,但没移除其他子菜单的show类,导致多个子菜单同时显示重叠。只需要在添加新的show类前,先移除所有子菜单的该类即可:

修改后的代码:

$( ".main-menu-link-container" ).click(function() {
  var index = $( ".main-menu-link-container" ).index( this );
  // 先移除所有子菜单的show类
  $( ".subcategory-menu-links-wrapper" ).removeClass("show");
  // 再给目标子菜单添加show类
  $( ".subcategory-menu-links-wrapper" ).eq(index).addClass("show");
});

如果需要支持点击同一链接切换子菜单显示/隐藏,可以再加个判断:

$( ".main-menu-link-container" ).click(function() {
  var index = $( ".main-menu-link-container" ).index( this );
  var targetMenu = $( ".subcategory-menu-links-wrapper" ).eq(index);
  
  // 如果目标菜单已经显示,就隐藏;否则先隐藏所有再显示目标
  if (targetMenu.hasClass("show")) {
    targetMenu.removeClass("show");
  } else {
    $( ".subcategory-menu-links-wrapper" ).removeClass("show");
    targetMenu.addClass("show");
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:20:57