2012-04-12 95 views

回答

0

如果我正確理解你的問題,你可以添加一個類頂級菜單,並排除一切不是: HTML:

<ul class="menu"> 
    <li class="top-level">About Us</li> 
    <li class="top-level">Our Products</li> 
    <li class="top-level">FAQs</li> 
    <li class="top-level">Contact</li> 
    <li class="top-level">Login</li> 
</ul> 

的Javascript:

function alignMenuItems(){ 
    var totEltWidth = 0; 
    var menuWidth = $('ul.menu')[0].offsetWidth; 
    var availableWidth = 0; 
    var space = 0; 

    var elts = $('.menu li.top-level'); //<- 
    elts.each(function(inx, elt) { 
     // reset paddding to 0 to get correct offsetwidth 
     $(elt).css('padding-left', '0px'); 
     $(elt).css('padding-right', '0px'); 

     totEltWidth += elt.offsetWidth; 
    }); 

    availableWidth = menuWidth - totEltWidth; 

    space = availableWidth/(elts.length); 

    elts.each(function(inx, elt) { 
     $(elt).css('padding-left', (space/2) + 'px'); 
     $(elt).css('padding-right', (space/2) + 'px'); 
    }); 
} 
+0

感謝llia。不幸的是,這並沒有奏效。基本上,代碼將工作,除非你引入像下面的嵌套列表。 '

  • 關於我們 \t
    • 子1
    • 子1
    • 子1
    • 子1
  • 我們的產品
  • 常見問題
  • 聯繫方式
  • 登錄
  • ' – eljefe 2012-04-12 03:46:29

    +0

    我不知道如何讓代碼在評論中正確格式化。 – eljefe 2012-04-12 03:50:29

    +0

    你想達到什麼目的?你想要下拉菜單的主菜單嗎? – 2012-04-12 03:58:11