1/** 2 * Scripts for Fusion Extension - Menu Simple 3 */ 4 5//top level hashtag links 6jQuery(document).ready(function() { 7 jQuery('.fsn-menu.simple .navbar-nav > li > a, .fsn-menu.simple .dropdown-menu > li > a').on('click', function(e) { 8 if (jQuery(this).attr('href') == '#') { 9 e.preventDefault(); 10 } 11 }); 12}); 13 14//locking menu 15jQuery(document).ready(function() { 16 var lockingMenus = jQuery('.locking-menu'); 17 lockingMenus.each(function() { 18 var lockingMenu = jQuery(this); 19 var menuElement = lockingMenu.closest('.fsn-menu.simple'); 20 var menuHeight = menuElement.outerHeight(); 21 var menuClasses = menuElement.attr('class'); 22 var menuClassesArray = menuClasses.split(' '); 23 lockingMenu.addClass(menuClassesArray[2]); 24 jQuery(window).on('scroll', function() { 25 var scrollTop = jQuery(window).scrollTop(); 26 if (scrollTop > menuHeight) { 27 menuElement.trigger('show.fsnMenuSimple.locking'); 28 if (Modernizr.csstransitions && Modernizr.csstransforms) { 29 lockingMenu.addClass('in'); 30 } else { 31 lockingMenu.stop(true, false).fadeIn(200); 32 } 33 } else { 34 menuElement.trigger('hide.fsnMenuSimple.locking'); 35 if (Modernizr.csstransitions && Modernizr.csstransforms) { 36 lockingMenu.removeClass('in'); 37 } else { 38 lockingMenu.stop(true, false).fadeOut(200); 39 } 40 } 41 }); 42 }); 43}); 44 45//overlap fixes 46jQuery(document).ready(function() { 47 var overlapMenus = jQuery('.fsn-menu.simple .menu-container.overlap'); 48 overlapMenus.each(function() { 49 var overlapMenu = jQuery(this); 50 //single column line 51 var parentColumn = overlapMenu.closest('[class*="col-sm"]'); 52 parentColumn.css('min-height','0px'); 53 //mobile dropdown background 54 var collapseMenu = overlapMenu.find('.navbar-collapse'); 55 collapseMenu.on('show.bs.collapse', function() { 56 overlapMenu.addClass('expanded'); 57 }); 58 collapseMenu.on('hide.bs.collapse', function() { 59 overlapMenu.removeClass('expanded'); 60 }); 61 }); 62}); 63 64//dropdown button nesting 65jQuery(document).ready(function() { 66 var buttonDropdownMenus = jQuery('.fsn-menu.simple .button-dropdown-menu'); 67 buttonDropdownMenus.each(function() { 68 var nestedMenuToggles = jQuery(this).find('li.menu-item-has-children'); 69 nestedMenuToggles.each(function() { 70 var nestedMenuToggle = jQuery(this); 71 nestedMenuToggle.children('a').on('click', function(e) { 72 e.preventDefault(); 73 e.stopPropagation(); 74 jQuery(this).toggleClass('expanded'); 75 }); 76 }); 77 }); 78}); 79 80//toggle vs hover 81jQuery(document).ready(function() { 82 if (!Modernizr.touchevents) { 83 var dropdownToggles = jQuery('.fsn-menu.simple').find('.dropdown-toggle'); 84 dropdownToggles.each(function() { 85 var dropdownToggle = jQuery(this); 86 dropdownToggle.dropdownHover(); 87 }); 88 } 89}); 90 91//add aria-haspopup to dropdown toggles 92jQuery(document).ready(function() { 93 var dropdownToggles = jQuery('.fsn-menu.simple').find('.dropdown-toggle'); 94 dropdownToggles.each(function() { 95 var dropdownToggle = jQuery(this); 96 dropdownToggle.attr('aria-haspopup','true'); 97 }); 98});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.