JavaScript 单击时关闭菜单

标签 javascript jquery

我对 JavaScript 非常陌生,在尝试获得所需结果时遇到了一些麻烦。我根据 w3 学校的示例构建了一个 Canvas 外菜单。我希望用户除了使用“x”按钮之外,还能够在菜单打开时单击汉堡字形图标来关闭菜单。如果有一种更简单的方法可以使用 JQuery 来完成此操作,那就太好了!

这是我的尝试:

var width = document.getElementById("nav").style.width;
while (width != 0) {
    document.getElementById('glyphicon-menu-hamburger').onclick = closeNav();
  }

这是代码笔: https://codepen.io/nathanmathews/pen/XRKBBN

这是我的更新尝试,仍然不正确:

var width = document.getElementById("nav").style.width;
if (width != 0) {
    document.getElementById('glyphicon-menu-hamburger').onclick = closeNav;
  }

最佳答案

只需将 openNav() 替换为 toggleNav()

function toggleNav() {
  var nav = document.getElementById("nav"),
   main = document.getElementById("main");
  if (nav.style.width == "250px") {
    nav.style.width = "0";
    main.style.marginRight = "0";
  }
  else {
    nav.style.width = "250px";
    main.style.marginRight = "250px";
  }
}

关于JavaScript 单击时关闭菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43567881/

相关文章:

javascript - Jquery 在点击图片时切换

javascript - jQuery 隐藏和显示不起作用

javascript - 当鼠标进入 div 时显示顶部菜单栏

javascript - 最后一行不等到长时间运行循环结束

javascript - 填充 HTML 元素时的断点

javascript - 无法从 Jquery 访问关联模型

javascript - 在 Chrome 中将下/上填充应用于具有最小值和最大值的 "input range"

javascript - 我怎样才能在 ember js Action 中获得 Tornado 错误响应?

javascript - 模式匹配 webkitRelative 中的第一个子目录

javascript - 我如何优化 main.js 的大小?