Skip to content

Instantly share code, notes, and snippets.

@joeegan
Created August 9, 2010 17:27
Show Gist options
  • Select an option

  • Save joeegan/515748 to your computer and use it in GitHub Desktop.

Select an option

Save joeegan/515748 to your computer and use it in GitHub Desktop.
$(document).ready(function () {
IT.EvenWidths(".header-wrap nav > ul:first", ".header-wrap nav > ul:first > li");
IT.EvenWidths(".list ul", ".list li");
IT.Navigation(".header-wrap nav");
});
IT.EvenWidths = function(parentSelector, childSelector) {
var $parent = $(parentSelector);
var parentWidth = $parent.width();
var $child = $(childSelector);
var totalWidthOfChildren = 0;
var padding = 0;
$child.each(function(i) {
totalWidthOfChildren += $(this).outerWidth();
var $c = $child.eq(i);
padding += (parseInt($c.css('padding-right')));
padding += (parseInt($c.css('padding-left')));
});
var remainingSpace = parentWidth - totalWidthOfChildren;
var remainingSpaceSplit = Math.round(remainingSpace / $child.length);
var recalculatedWidth = padding;
$child.each(function(i) {
var linkJq = $(this).find("a:first");
var origWidth = parseInt(linkJq.width());
linkJq.width(origWidth + remainingSpaceSplit);
recalculatedWidth += (origWidth + remainingSpaceSplit);
if (recalculatedWidth > parentWidth) {
linkJq.css('width', origWidth + remainingSpaceSplit - (recalculatedWidth - parentWidth));
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment