95 lines
2.7 KiB
JavaScript
95 lines
2.7 KiB
JavaScript
/**
|
|
* Adds rwd classes and click handlers.
|
|
*/
|
|
|
|
(function($) {
|
|
'use strict';
|
|
|
|
var rwd = (function() {
|
|
|
|
var _fn = {
|
|
header: 'header.global-new',
|
|
|
|
resultsUrl: 'course-search',
|
|
|
|
init: function() {
|
|
_fn.$header = $( _fn.header );
|
|
_fn.$footer = $( _fn.footer );
|
|
_fn.$navContainer = _fn.$header.find('.nav-container');
|
|
_fn.$globalNav = _fn.$header.find('.nav-global');
|
|
|
|
_fn.add.elements();
|
|
_fn.add.classes();
|
|
_fn.eventHandlers.init();
|
|
},
|
|
|
|
add: {
|
|
classes: function() {
|
|
// Add any RWD-specific classes
|
|
_fn.$header.addClass('rwd');
|
|
},
|
|
|
|
elements: function() {
|
|
_fn.add.burger();
|
|
_fn.add.registerLink();
|
|
},
|
|
|
|
burger: function() {
|
|
_fn.$navContainer.prepend([
|
|
'<a href="#" class="mobile-menu-button" aria-label="menu">',
|
|
'<i class="icon fa fa-bars" aria-hidden="true"></i>',
|
|
'</a>'
|
|
].join(''));
|
|
},
|
|
|
|
registerLink: function() {
|
|
var $register = _fn.$header.find('.cta-register'),
|
|
$li = {},
|
|
$a = {},
|
|
count = 0;
|
|
|
|
// Add if register link is shown
|
|
if ( $register.length > 0 ) {
|
|
count = _fn.$globalNav.find('li').length + 1;
|
|
|
|
// Create new li
|
|
$li = $('<li/>');
|
|
$li.addClass('desktop-hide nav-global-0' + count);
|
|
|
|
// Clone register link and remove classes
|
|
$a = $register.clone();
|
|
$a.removeClass();
|
|
|
|
// append to DOM
|
|
$a.appendTo( $li );
|
|
_fn.$globalNav.append( $li );
|
|
}
|
|
}
|
|
},
|
|
|
|
eventHandlers: {
|
|
init: function() {
|
|
_fn.eventHandlers.click();
|
|
},
|
|
|
|
click: function() {
|
|
// Toggle menu
|
|
_fn.$header.on( 'click', '.mobile-menu-button', _fn.toggleMenu );
|
|
}
|
|
},
|
|
|
|
toggleMenu: function( event ) {
|
|
event.preventDefault();
|
|
|
|
_fn.$globalNav.toggleClass('show');
|
|
}
|
|
};
|
|
|
|
return {
|
|
init: _fn.init
|
|
};
|
|
})();
|
|
|
|
rwd.init();
|
|
})(jQuery);
|