【问题标题】:real height of element that is hidden withing another element隐藏在另一个元素中的元素的实际高度
【发布时间】:2012-11-02 17:11:15
【问题描述】:

我遇到了一个问题,但它只出现在 Firefox 上。 当我试图获取元素的高度时,它只返回元素的可见部分(在 Firefox 中,在其他浏览器中它返回整个元素高度)。

结构如下:

<ul class="slider">
   <li><div>//content</div></li>
   <li><div>//content</div></li>
   <li><div>//content</div></li>
   ...
</ul>

我正在使用 caroufredsel 脚本进行轮播。我需要获取最高元素的高度来设置整个轮播的高度,因为当我尝试使用选项 height:"auto" 时它仍然不起作用。

所以我在问 - 如何获得由于溢出属性而部分隐藏的元素的真实高度?

【问题讨论】:

  • 我们可以看看你的javascript代码来获取元素的高度吗?
  • 好的,所以为了澄清更多,首先我使用$('ul.slider li').each(function(index) { if ($(this).height() &gt; maxHeight) { maxHeight = $(this).height(); } if (0 == --count) initializeSlider(); }); 遍历列表中的每个 li 元素,然后使用 height: maxHeight 选项启动滑块。此外,当我在 Firefox 中检查检查器时,元素的高度与使用 .height() 返回的不同。

标签: jquery height overflow hidden


【解决方案1】:

尝试使用outerHeight 而不是height 或者看看这个 - http://dreamerslab.com/blog/en/get-hidden-elements-width-and-height-with-jquery/ - 它允许使用这样的结构:$( '.hidden' ).actual( 'width' );

【讨论】:

  • 我改变了我的答案。请再看一遍。
  • 也试过那个库,仍然只返回元素的可见部分。为什么这只发生在 firefox 上?
  • 刚发现同样的问题-stackoverflow.com/questions/2345784/…
  • 不一样,因为我的元素没有隐藏,溢出设置为仅隐藏,元素可见,显示设置为阻止
  • 你能做个jsfiddle的例子吗?
猜你喜欢
  • 2022-07-15
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2014-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多