jQuery和resize()不起作用

时间:2014-11-03 11:28:00

标签: jquery html resize

我有一个菜单列表,我在jQuery上使用方法调整大小来调整li但是如果我的页面减少了,可以工作,因为当我尝试增加页面我的li增加但是如果我的页面已满并且我尝试减少我的李不减少。我能做什么?

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>

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:0)

试试这个:

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