HL Menu - Get Adjusted Column Length
by ethan_selzer
HTML
<h3>Requirements</h3>
<ol>
<li>4 columns constant</li>
<li>Column length is a minimum value - only compute overflow conditions</li>
<li>Always start a new column for upcoming events</li>
</ol>
<h3>Questions</h3>
<ol>
<li>Should the menu be the same size for each tab?</li>
<li>Is 4 columns a constant or a max value?
</ol>
CSS
@import url('http://twitter.github.com/bootstrap/assets/css/bootstrap.css');
body{margin: 10px;}
ol{list-style-type:decimal;}
JavaScript
function getAdjustedColumnLength( columnLength, eventCount, upcomingEventCount ){
var eventCountPlusLabel = eventCount + 1;
var upcomingEventCountPlusLabel = upcomingEventCount + 1;
var eventColumnCount = Math.ceil( eventCountPlusLabel / columnLength );
var upcomingEventColumnCount = Math.ceil( upcomingEventCountPlusLabel / columnLength );
var combinedColumnCount = eventColumnCount + upcomingEventColumnCount;
if( combinedColumnCount > 4 ){
getAdjustedColumnLength( ++columnLength, eventCount, upcomingEventCount );
}
return columnLength;
}
console.log( getAdjustedColumnLength( 16, 37, 22 ) );