diff --git a/js/main.js b/js/main.js index a960763..97b159e 100644 --- a/js/main.js +++ b/js/main.js @@ -35,6 +35,33 @@ var main = { }); }); + // Ensure nested navbar menus are not longer than the menu header + var menus = $(".navlinks-container"); + if (menus.length > 0) { + var navbar = $("#main-navbar ul"); + var fakeMenuHtml = ""; + navbar.append(fakeMenuHtml); + var fakeMenu = $(".fake-menu"); + + $.each(menus, function(i) { + var parent = $(menus[i]).find(".navlinks-parent"); + var children = $(menus[i]).find(".navlinks-children a"); + var words = []; + $.each(children, function(idx, el) { words = words.concat($(el).text().trim().split(/\s+/)); }); + var maxwidth = 0; + $.each(words, function(id, word) { + fakeMenu.html("" + word + ""); + var width = fakeMenu.width(); + if (width > maxwidth) { + maxwidth = width; + } + }); + $(menus[i]).css('min-width', maxwidth + 'px') + }); + + fakeMenu.remove(); + } + // show the big header image main.initImgs(); }, @@ -108,4 +135,4 @@ var main = { // 2fc73a3a967e97599c9763d05e564189 -document.addEventListener('DOMContentLoaded', main.init); \ No newline at end of file +document.addEventListener('DOMContentLoaded', main.init);