这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@curbengh
Copy link
Contributor

@curbengh curbengh commented Apr 12, 2020

mobile-menu

Make it easier to close the mobile menu.

When mobile menu is displayed, if user click/tap on outside (like X) area, mobile menu will be closed. No effect if tap within the menu (like Y) area.

This PR uses jQuery; for vanilla JS implementation,

document.addEventListener('click', (event) => {
  const mainNavDisplay = window.getComputedStyle(document.getElementsByClassName('main-nav')[0]).getPropertyValue('display')
  const mobileNav = document.getElementsByClassName('mobile-nav-link')[0]
  const mobileToggle = document.getElementById('mobile-menu-toggle')
  const isClickedOutside = !mobileNav.contains(evt.target)

  // Exit if not in mobile view or menu button is clicked
  // Menu button click triggers `menu-button` and `mobile-menu-toggle`
  if (mainNavDisplay !== 'none' || event.target.id === 'menu-button' || event.target.id === 'mobile-menu-toggle') return

  if (isClickedOutside) {
    mobileToggle.checked = false
  }
}, false)

@geekplux geekplux merged commit 7599982 into geekplux:master Apr 12, 2020
@curbengh curbengh deleted the hide-menu branch April 18, 2020 06:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants