javascript - 单击链接时关闭全屏导航覆盖

标签 javascript jquery html css overlay

我正在尝试使用全屏导航覆盖。一切正常,但我在单击导航链接时无法关闭它。目前,单击链接只会将您带到锚定部分,但不会删除叠加层。

这是 fiddle当前元素,我复制了下面的 js。

非常感谢您提供的任何帮助/建议。

JS

(function() {

  var Menu = (function() {
    var burger = document.querySelector('.burger');
    var menu = document.querySelector('.menu');
    var menuList = document.querySelector('.menu__list');
    var brand = document.querySelector('.menu__brand');
    var menuItems = document.querySelectorAll('.menu__item');

    var active = false;

    var toggleMenu = function() {
      if (!active) {
        menu.classList.add('menu--active');
        menuList.classList.add('menu__list--active');
        brand.classList.add('menu__brand--active');
        burger.classList.add('burger--close');
        for (var i = 0, ii = menuItems.length; i < ii; i++) {
          menuItems[i].classList.add('menu__item--active');
        }

        active = true;
      } else {
        menu.classList.remove('menu--active');
        menuList.classList.remove('menu__list--active');
        brand.classList.remove('menu__brand--active');
        burger.classList.remove('burger--close');
        for (var i = 0, ii = menuItems.length; i < ii; i++) {
          menuItems[i].classList.remove('menu__item--active');
        }

        active = false;
      }
    };

    var bindActions = function() {
      burger.addEventListener('click', toggleMenu, false);
    };

    var init = function() {
      bindActions();
    };

    return {
      init: init
    };

  }());

  Menu.init();

}());

最佳答案

您没有点击元素的操作功能。您可以在 menu_list 类上使用它:

var menuItemClicked = function() {
      menuList.addEventListener('click', toggleMenu, false);
}

var init = function() {
      bindActions();
      menuItemClicked();
};

再看看 fiddle :https://jsfiddle.net/w6n217xc/2/

关于javascript - 单击链接时关闭全屏导航覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50749178/

相关文章:

javascript - Canvas 对象总是绘制在其他对象后面

javascript - jquery 选择器不提供所有元素

html - CSS 悬停过渡无法正常工作

html - 显示 :none does not show other div

html - Angularjs 表单提交,url 作为 Action iframe 作为目标

javascript - 等待/异步问题

javascript - 移动没有 before 伪元素的 html block

javascript - 普通数组到多维数组

javascript - 如果在表格上未选中 Checkbox,则隐藏按钮

javascript - JSON 返回未定义