2014-11-03 69 views
0

我有我的菜單列表,我使用jQuery調整大小的方法調整大小李,但如果我的網頁減少,因爲當我嘗試增加頁面我李增加,但如果我的頁面已滿,我嘗試減少我的li不減少。我可以做什麼?jQuery和調整大小()不工作

的jQuery:

$(document).ready(function() { 
     size(); 
     $(window).resize(size); 
    }); 
    function size() { 
     var tr = $("#nav li ul").width(); 
       $("#nav li ul li").width(tr); 
    } 

HTML:

<ul class="navi"> 
     <li ><a class="first" href="\">Home</a></li> 
     <li><font>Test</font> 
      <ul> 
      <li><a>Test 1</a></li> 
      <li class="last"><a >Test 2</a></li> 
      </ul> 
      <div class="clear"></div> 
     </li> 
</ul> 
+1

您必須在測量父項寬度之前刪除嵌套'li'的寬度,因爲子'li'將保持父'ul'打開。你甚至需要爲此使用JS嗎? CSS非常適合讓孩子成爲父母的寬度的100%。 – Moob 2014-11-03 11:38:55

+0

您的'#nav'元素缺失,然後'$(「#nav li ul」)'返回null – Victor 2014-11-03 11:44:17

+0

有點難以分辨您正在嘗試做什麼。你可以發佈[jsFiddle](http://jsfiddle.net/)或者說明問題的片段嗎? – Moob 2014-11-03 11:49:54

回答

0

試試這個:

$(function() { 
    $(window).resize(function() 
    { 
     var tr = $("#nav li ul").width(); 
     $("#nav li ul li").width(tr); 
    }); 
}); 
1

你測量的寬度之前刪除嵌套li的寬度父母因爲孩子li會持有父母ul開放。

function size() { 
    $("#nav li ul li").css('width', 'auto'); // <-- remove the child's width 
    var tr = $("#nav li ul").width(); 
    $("#nav li ul li").width(tr); 
}