(function($){ "use strict"; var Brooklyn = { // Background Img bgImageStretch: function() { $(".background-bg").css('background-image', function () { var bg = ('url(' + $(this).data("image-src") + ')'); return bg; }); }, // Responsive Menu Open and Close in Mobile toggleMobileMenu: function() { if ($(window).width() < 767) { "use strict"; $('.menu-item-has-children>a').on('click', function(e) { event.preventDefault(); event.stopPropagation(); $(this).parent().siblings().removeClass('open'); $(this).parent().toggleClass('open'); }); }; }, // Sidebar Menu Open menuOpen: function() { $('.nav-trigger').on('click', function(event) { event.preventDefault(); event.stopPropagation(); $('body').toggleClass('open'); }); }, // Sidebar Menu Close menuClose: function() { $('.menu-close').on('click', function(event) { event.preventDefault(); event.stopPropagation(); $('body').removeClass('open'); }); }, // Smoothing Keyboard Navigation keyboardNavigation: function() { Brooklyn.keyboardNavigation.filterPath = function(string) { return string .replace(/^\//, '') .replace(/(index|default).[a-zA-Z]{3,4}$/, '') .replace(/\/$/, ''); }; var locationPath = Brooklyn.keyboardNavigation.filterPath(location.pathname); $('a[href*="#"]').each(function () { var thisPath = Brooklyn.keyboardNavigation.filterPath(this.pathname) || locationPath; var hash = this.hash; if ($("#" + hash.replace(/#/, '')).length) { if (locationPath == thisPath && (location.hostname == this.hostname || !this.hostname) && this.hash.replace(/#/, '')) { var $target = $(hash), target = this.hash; if (target) { $(this).click(function (event) { event.preventDefault(); $('html, body').animate({scrollTop: $target.offset().top}, 1000, function () { location.hash = target; $target.focus(); if ($target.is(":focus")){ //checking if the target was focused return false; }else{ $target.attr('tabindex','-1'); //Adding tabindex for elements not focusable $target.focus(); //Setting focus }; }); }); } } } }); } }; $(document).ready(function() { "use strict"; Brooklyn.bgImageStretch(); Brooklyn.toggleMobileMenu(); Brooklyn.menuOpen(); Brooklyn.menuClose(); Brooklyn.keyboardNavigation(); }); $(document).scroll(function () { var $nav = $(".main-header"); // $nav.addClass('fixed-top'); $nav.toggleClass('scrolled', $(this).scrollTop() > $nav.height()); }); })(jQuery);