Skip to content

Instantly share code, notes, and snippets.

@chrismcintosh
Created July 15, 2016 15:16
Show Gist options
  • Save chrismcintosh/821a43c7798a0c7c7b4388aa33e281ab to your computer and use it in GitHub Desktop.
Save chrismcintosh/821a43c7798a0c7c7b4388aa33e281ab to your computer and use it in GitHub Desktop.
Combine Primary and Secondary Menu's in Genesis in responsive view.
jQuery(function( $ ){
$("header .genesis-nav-menu, .nav-primary .genesis-nav-menu, .nav-secondary .genesis-nav-menu").addClass("responsive-menu").before('<div class="responsive-menu-icon"></div>');
$(".responsive-menu-icon").click(function(){
$(this).next("header .genesis-nav-menu, .nav-primary .genesis-nav-menu, .nav-secondary .genesis-nav-menu").slideToggle();
});
$(window).resize(function(){
if(window.innerWidth > 767) {
$("header .genesis-nav-menu, .nav-primary .genesis-nav-menu, .nav-secondary .genesis-nav-menu, nav .sub-menu").removeAttr("style");
$(".responsive-menu > .menu-item").removeClass("menu-open");
}
});
$(".responsive-menu > .menu-item").click(function(event){
if (event.target !== this)
return;
$(this).find(".sub-menu:first").slideToggle(function() {
$(this).parent().toggleClass("menu-open");
});
});
setupMenus();
$( window ).resize( function() {
setupMenus();
});
function setupMenus () {
if ( window.innerWidth <= 768 ) {
$( 'ul.menu-secondary > li' ).addClass('moved-item'); //tag moved items so we can move them back
$( 'ul.menu-secondary > li' ).appendTo( 'ul.menu-primary' );
$( '.nav-secondary' ).hide();
}
if ( window.innerWidth > 768 ) {
$( '.nav-primary .genesis-nav-menu, nav .sub-menu' ).removeAttr( 'style' );
$( '.responsive-menu > .menu-item' ).removeClass( 'menu-open' );
$( '.nav-secondary' ).show();
$( 'ul.menu-primary > li.moved-item' ).appendTo( 'ul.menu-secondary' );
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment