【发布时间】:2011-01-21 01:15:29
【问题描述】:
我正在尝试创建一个将在 $('element').hover 上“增长”的大小调整容器,但我只想在 LI 中的内容由于 css 过低而变宽和隐藏时这样做:隐。我似乎无法找到一种方法来找到隐藏内容的总宽度。例如:
<ul id="innerContainer">
<li><a href="/Afrikaans/index.html">Afrikaans</a></li>
<li><a href="/Arabic/index.html">Arabic</a></li>
<li><a href="/Chinese/index.html">Chinese (Mandarin) What The Its Just Crazy</a></li>
</ul>
包含中文(普通话)...的 li 太宽,无法放入 172 像素宽的容器中。 我希望能够找出 .hover() 上的宽度,以便调整容器的大小以适应。我需要它是动态的,因为太宽的 li 并不总是包含相同的内容。 CSS是:
#innerContainer {position:absolute; left:0; top:0; height:200px; overflow:hidden;}
#scroller ul {margin:0; padding:0; list-style:none;width:172px;}
#scroller ul li {float:left; height:27px; width:172px;}
#scroller ul li a {overflow:hidden;display:block; float:left; height:26px; line-height:26px; width:172px; font-size:11px; color:#000; font-weight:bold; text-decoration:none; text-indent:5px; border-bottom:1px solid #000;}
我能得到的只是172px的实际宽度。
考虑到项目已经在一个可垂直滚动的容器中。 这方面的一个例子是http://www.pronunciator.com/Vietnamese/index.html 您可以看到菜单中太宽的行如何溢出到下一行。我通过使用溢出杀死了它:隐藏。现在我需要找到隐藏文本行的宽度。
提前感谢您的任何回复。
【问题讨论】:
-
您是否在
- 周围放置了一个
,然后尝试从中获取宽度?当我尝试这个时: $('ul#innerContainer li').hover(function(){ $('#test').html($(this).html() + ' : ' + $(this).eq(2).width()); },function(){ $('#test').html('OUT'); });它返回 null 作为宽度。我使用 (this) 所以我可以得到所选 LI 的宽度。我将值返回到带有 id 测试的页面上的空 div。
标签: javascript jquery html css