jQuery和调整大小()不工作
问题描述:
我有我的菜单列表,我使用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>
答
试试这个:
$(function() {
$(window).resize(function()
{
var tr = $("#nav li ul").width();
$("#nav li ul li").width(tr);
});
});
答
你测量的宽度之前删除嵌套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);
}
您必须在测量父项宽度之前删除嵌套'li'的宽度,因为子'li'将保持父'ul'打开。你甚至需要为此使用JS吗? CSS非常适合让孩子成为父母的宽度的100%。 – Moob 2014-11-03 11:38:55
您的'#nav'元素缺失,然后'$(“#nav li ul”)'返回null – Victor 2014-11-03 11:44:17
有点难以分辨您正在尝试做什么。你可以发布[jsFiddle](http://jsfiddle.net/)或者说明问题的片段吗? – Moob 2014-11-03 11:49:54