Skip to content

Commit

Permalink
nested menus: ensure title width is wide enough to accommodate childr…
Browse files Browse the repository at this point in the history
…en; fixes daattali#54
  • Loading branch information
daattali committed May 1, 2016
1 parent df981db commit 9e017d9
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 = "<li class='fake-menu' style='display:none;'><a></a></li>";
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("<a>" + word + "</a>");
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();
},
Expand Down Expand Up @@ -108,4 +135,4 @@ var main = {

// 2fc73a3a967e97599c9763d05e564189

document.addEventListener('DOMContentLoaded', main.init);
document.addEventListener('DOMContentLoaded', main.init);

0 comments on commit 9e017d9

Please sign in to comment.