Skip to content

Instantly share code, notes, and snippets.

@generatepress
Last active April 1, 2021 20:31
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save generatepress/589b9e91bca7205883b0454f15a4dcf9 to your computer and use it in GitHub Desktop.
Save generatepress/589b9e91bca7205883b0454f15a4dcf9 to your computer and use it in GitHub Desktop.
<script>
var hamburger = document.querySelector(".hamburger"),
menuToggle = document.querySelector( '.menu-toggle' ),
menuItems = document.querySelectorAll( 'nav ul a' ),
closeElements = document.querySelectorAll( '.slideout-overlay, .slider-exit a' );
menuToggle.addEventListener("click", function() {
hamburger.classList.toggle("is-active");
} );
for ( var i = 0; i < closeElements.length; i++ ) {
closeElements[i].addEventListener( 'click', function( e ) {
hamburger.classList.toggle("is-active");
} );
};
for ( var i = 0; i < menuItems.length; i++ ) {
menuItems[i].addEventListener( 'click', function( e ) {
var closest_nav = this.closest( 'nav' );
if ( closest_nav.classList.contains( 'toggled' ) || htmlEl.classList.contains( 'slide-opened' ) ) {
var url = this.getAttribute( 'href' );
var hash = url.split('#')[1];
// Open the sub-menu if the link has no destination
if ( hash ) {
e.preventDefault();
hamburger.classList.toggle("is-active");
}
}
}, false );
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment