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

汉堡菜单(Hamburger menu)点击无法展开问题求助

汉堡菜单点击不显示的问题修复

核心错误:赋值运算符用错了

你的hideShow函数里修改display属性时,误用了比较运算符==,而不是赋值运算符=,这导致元素的显示状态根本没被修改。

错误代码片段:

if(getElement.style.display=="none"){
    getElement.style.display == "block"; // 这里是比较,不是赋值
}else{
    getElement.style.display == "none"; // 同样的错误
}

修正后代码:

function hideShow(){
    const getElement = document.querySelector('.little-menu');
    if(getElement.style.display=="none"){
        getElement.style.display = "block";
    }else{
        getElement.style.display = "none";
    }
}

补充:初始状态的判断问题

如果你的.little-menu是通过CSS(比如.little-menu { display: none; })初始隐藏的,那么getElement.style.display一开始是空字符串(因为style属性只读取内联样式,不识别CSS类的样式),第一次点击会进入else分支把它设为none,还是看不到菜单。

更推荐用类切换的方式(更灵活,也方便维护样式):

  1. 先在CSS里定义隐藏类:
.hidden {
  display: none;
}
  1. 给.little-menu初始加上这个类:
<div class="little-menu hidden">
    <!-- 菜单内容 -->
</div>
  1. 修改JavaScript函数:
function hideShow(){
    const getElement = document.querySelector('.little-menu');
    getElement.classList.toggle('hidden');
}

额外小优化

你的<a>标签点击后会跳转到页面顶部(因为href="#"),可以在onclick里加上return false阻止默认行为:

<a href="#" class="navbar-button" onclick="hideShow(); return false;">
    <i class="fa fa-bars" aria-hidden="true"></i>
</a>

内容的提问来源于stack exchange,提问作者PiYa's Loreas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:01:13