Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 11th, 2012  |  syntax: None  |  size: 2.34 KB  |  hits: 7  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. For a fluid Navigation Menu, how to adjust padding dynamically for each Breadcrumb?
  2. <div class="container">
  3.     <div class="row">                        
  4.         <div class="twelvecol">
  5.             <ul>
  6.                 <li><a href="#">short</a></li>
  7.                 <li><a href="#">longer</a></li>
  8.                 <li><a href="#">even-longer</a></li>
  9.                 <li><a href="#">really-really-long</a></li>
  10.                 <li><a href="#">tiny</a></li>  
  11.             </ul>              
  12.         </div>
  13.     </div>
  14. </div>
  15.        
  16. // Initial left/right padding of links set in css
  17. var paddingIni = 39;
  18. // Initial max-width of .row
  19. var widthIni = 700;
  20. // Number of links multiplied by 2; 2 because we will be reducing the padding by multiples of 2px total, 1px left, 1px right
  21. var linkQ = 5*2;
  22.  
  23. // Current width of link container
  24. var twelveWidth = $(".row .twelvecol").width();
  25. // (Initial width / 10) - (Current width / 10); this gives us how much to subtract from our inital padding of 39
  26. // Is there anything wrong with the way this is written?
  27. var paddingSub = (widthIni/linkQ)-(twelveWidth/linkQ);
  28. // Simply subtracting above computation from our inital padding of 39
  29. var paddingNew = paddingIni-paddingSub;
  30.  
  31. $("ul li a").css("padding-left",paddingNew);
  32. $("ul li a").css("padding-right",paddingNew);
  33.        
  34. var whyisthiswrong = 39 - ( (700/(5*2)) / ($(".row .twelvecol").width()/(5*2)) );
  35.        
  36. <div class='twelvecol'><ul>...</ul></div>
  37.        
  38. <ul id='hmenu' class='twelvecol'>...</ul>
  39.        
  40. $(function() {
  41.     // trigger once dom is ready
  42.     resizeMe();
  43.     // trigger on window resize
  44.     $(window).bind('resize', function()
  45.     {
  46.         // your resize function
  47.         resizeMe();
  48.     }).trigger('resize');
  49. });
  50.  
  51. var resizeMe = function(){
  52.     // your stuff here
  53. };
  54.        
  55. $("#hmenu li a").css("padding", "12px " + paddingNew + "px 12px " + paddingNew + "px");
  56.        
  57. $("#hmenu li a").css({"padding-left": paddingNew, "padding-right": paddingNew});
  58.        
  59. function fluidNavBar(){
  60.     $('.breadcrumbPadding').css('width',0);
  61.     if($('.links').width() < $('body').width()){
  62.         $('.breadcrumbPadding').css('width', $('.navPaddingTotal').width() / $('.breadcrumbPadding').size());
  63.     }
  64. }
  65.  
  66. // RUN ON PAGE LOAD
  67. window.onload = function() {
  68.     $('.navBar').css('min-width', $('.links').width());
  69.     fluidNavBar();
  70. };
  71.  
  72. // RUN ON WINDOW RESIZE
  73. $(window).resize(function() {
  74.     fluidNavBar();
  75. });