首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复“页面加载时打开的侧边栏”?

如何修复“页面加载时打开的侧边栏”?
EN

Stack Overflow用户
提问于 2019-09-01 10:11:00
回答 1查看 182关注 0票数 0

我在做侧栏导航。有一个汉堡包按钮,当点击打开导航。但是当页面被加载时,它已经打开了。我不想它已经打开了。我该怎么解决这个问题?

我是JS的菜鸟。我尝试过href属性中的值'javascript:void(0)‘,但是它没有工作。

代码语言:javascript
复制
<a href="javascript:void(0)" class="click-menu" onclick="openMenu()">&9776;
</a>
<div class="side-menu" id="side-menu">
    <a href="#" class="cross-btn" onclick="closeMenu()" style="font-size: 50px">&times;
    </a>
    <a href="#">Features</a>
    <a href="#">Pricing</a>
    <a href="#">Login</a>
</div>

<script>
    function openMenu() {
      document.getElementById("side-menu").style.width = "250px";
    }
    function closeMenu() {
      document.getElementById("side-menu").style.width = "0";
    }
</script>

预期结果:侧边栏导航只有在点击汉堡图标时才会打开。实际结果:当页面加载时,nav已经打开。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-01 12:49:51

将显示:none添加到div #侧菜单的样式:

代码语言:javascript
复制
<div class="side-menu" id="side-menu" style="display:none;">

与调整#侧菜单的宽度不同,单击菜单时将显示更改为阻止显示,单击交叉标志时更改为none。

代码语言:javascript
复制
function openMenu() {
  document.getElementById("side-menu").style.display = "block";
}

function closeMenu() {
  document.getElementById("side-menu").style.display = "none";
}

完整的代码:

代码语言:javascript
复制
<a href="javascript:void(0)" class="click-menu" onclick="openMenu()">&#9776;</a>
<div class="side-menu" id="side-menu" style="display:none;">
  <a href="#" class="cross-btn" onclick="closeMenu()" style="font-size: 50pxl">&times;</a>
  <a href="#">Features</a>
  <a href="#">Pricing</a>
  <a href="#">Login</a>
</div>

<script>
  function openMenu() {
    document.getElementById("side-menu").style.display = "block";
  }
  function closeMenu() {
    document.getElementById("side-menu").style.display = "none";
  }
</script>

还将&9776;更改为&#9776;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57745081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档