- For a fluid Navigation Menu, how to adjust padding dynamically for each Breadcrumb?
- <div class="container">
- <div class="row">
- <div class="twelvecol">
- <ul>
- <li><a href="#">short</a></li>
- <li><a href="#">longer</a></li>
- <li><a href="#">even-longer</a></li>
- <li><a href="#">really-really-long</a></li>
- <li><a href="#">tiny</a></li>
- </ul>
- </div>
- </div>
- </div>
- // Initial left/right padding of links set in css
- var paddingIni = 39;
- // Initial max-width of .row
- var widthIni = 700;
- // Number of links multiplied by 2; 2 because we will be reducing the padding by multiples of 2px total, 1px left, 1px right
- var linkQ = 5*2;
- // Current width of link container
- var twelveWidth = $(".row .twelvecol").width();
- // (Initial width / 10) - (Current width / 10); this gives us how much to subtract from our inital padding of 39
- // Is there anything wrong with the way this is written?
- var paddingSub = (widthIni/linkQ)-(twelveWidth/linkQ);
- // Simply subtracting above computation from our inital padding of 39
- var paddingNew = paddingIni-paddingSub;
- $("ul li a").css("padding-left",paddingNew);
- $("ul li a").css("padding-right",paddingNew);
- var whyisthiswrong = 39 - ( (700/(5*2)) / ($(".row .twelvecol").width()/(5*2)) );
- <div class='twelvecol'><ul>...</ul></div>
- <ul id='hmenu' class='twelvecol'>...</ul>
- $(function() {
- // trigger once dom is ready
- resizeMe();
- // trigger on window resize
- $(window).bind('resize', function()
- {
- // your resize function
- resizeMe();
- }).trigger('resize');
- });
- var resizeMe = function(){
- // your stuff here
- };
- $("#hmenu li a").css("padding", "12px " + paddingNew + "px 12px " + paddingNew + "px");
- $("#hmenu li a").css({"padding-left": paddingNew, "padding-right": paddingNew});
- function fluidNavBar(){
- $('.breadcrumbPadding').css('width',0);
- if($('.links').width() < $('body').width()){
- $('.breadcrumbPadding').css('width', $('.navPaddingTotal').width() / $('.breadcrumbPadding').size());
- }
- }
- // RUN ON PAGE LOAD
- window.onload = function() {
- $('.navBar').css('min-width', $('.links').width());
- fluidNavBar();
- };
- // RUN ON WINDOW RESIZE
- $(window).resize(function() {
- fluidNavBar();
- });