Skip to content

Instantly share code, notes, and snippets.

@davestacey
Last active August 29, 2015 14:02
Show Gist options
  • Save davestacey/c818e17031ff15c1f7a6 to your computer and use it in GitHub Desktop.
Save davestacey/c818e17031ff15c1f7a6 to your computer and use it in GitHub Desktop.
Responsive-nav for http://responsive-nav.com/
(function($){
$.fn.beaBaseFunctions = function() {
var ns = ns || {}; // set nameSpace
/*******************************************
Set your namespaced functions as non global variables,
keep the global scope clear to reduce naming clashes and keep memory usage down
*******************************************/
// Init Functions
ns.beaInit = function() {
// Prep menus
$('.region-sidebar-first').addClass('nav-collapse-wrapper');
$('.block-sector-menu-block').addClass('nav-collapse-menu1');
$('.block-technology-menu-view-block').addClass('nav-collapse-menu2');
$('.block-calculators-menu-block').addClass('nav-collapse-menu3');
//check for IE8 or less
if ( $('html').hasClass('isIe8') ) {
//Placeholder: was going to make mods on menu items
} else {
//console.log('NOT IE8');
var mobileMenus = ns.buildMobileMenus();
var showImageWidthsAdmin = ns.addImageWidthsAdmin();
//var responsiveImageTesting = ns.responsiveImageTesting();}
};
};
// build responsive menus function
ns.buildMobileMenus = function() {
var navSideBarFirst = responsiveNav("aside.region-sidebar-first", {
label: "Menu", // String: Label for the navigation toggle
navActiveClass: "js-nav-active", // String: Class that is added to element when nav is active
open: function(){
//Placeholder fyi
}, // Function: Open callback
});
var navBusiness = responsiveNav(".nav-collapse-menu1", { // Selector
label: "Business Type", // String: Label for the navigation toggle
navActiveClass: "js-nav-active-sub", // String: Class that is added to element when nav is active
});
var navTech = responsiveNav(".nav-collapse-menu2", { // Selector
label: "Technology", // String: Label for the navigation toggle
navActiveClass: "js-nav-active-sub", // String: Class that is added to element when nav is active
});
var navCalculators = responsiveNav(".nav-collapse-menu3", { // Selector
label: "Calculators", // String: Label for the navigation toggle
navActiveClass: "js-nav-active-sub", // String: Class that is added to element when nav is active
});
// Trigger via css media query change, then remove class
// TODO: migrate this to using .attr("aria-hidden")
if ( $('.region-sidebar-first').css('overflow') == "visible") {
console.log('SHOW SIDEBAR');
$('.region-sidebar-first').removeClass('closed');
$('#section-content').addClass('menu-open');
}
// Trigger via html attributes
if ( $('.region-sidebar-first').attr("aria-hidden") ) {
console.log('aria-hidden1');
//$('.region-sidebar-first').addClass('closed');
$('#section-content').removeClass('menu-open');
}
window.onresize = function(event) {
if ($(window).width() > 1024) {
if ( $('.region-sidebar-first').attr("aria-hidden") ) {
console.log('aria-hidden');
//$('#section-content').removeClass('menu-open');
$('.region-sidebar-first').removeClass('closed');
}//if aria-hidden
}// if width
}//window.onresize
}; // end ns.buildMobileMenus
/*******************************************
Set your namespaced functions as non global variables,
keep the global scope clear to reduce naming clashes and keep memory usage down
*******************************************/
// Execute all our functions!!!!!
var beaInit = ns.beaInit();
};
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment