【问题标题】:Updating width of hidden div更新隐藏 div 的宽度
【发布时间】:2013-02-22 16:26:18
【问题描述】:

我在我的响应式网站上使用 twitter 引导程序。我有一个图像轮播,每个图像上都有一些文字。我正在检测p 是否高于转盘并在必要时增加宽度。

if ( $(item).find('.carousel-caption')[0].scrollHeight >  $(item).height() && count <= 100) {
    $(item).find('.carousel-caption').css('width', $(item).find('.carousel-caption').width() + 10);
    count++;
    setWidth(item);
}

这是为轮播中的每个项目运行的。这对可见(活动)项目非常有效,但对于隐藏项目则完全无效。我查看了控制台,它是具有display: none 的项目。

有没有办法让它工作? $(item).find('.carousel-caption')[0].scrollHeight 正在为隐藏项重新调整 0。

【问题讨论】:

  • 尝试使用visibility: hidden 而不是display:none
  • 您是否尝试过使用:hidden jQuery 选择器? api.jquery.com/hidden-selector
  • 感谢@Blazemonger - 如果我在if 之前将项目设置为$(item).css('display', 'inline-block').css('visibility', 'hidden');,然后再将其重置:$(item).css('display', '').css('visibility', 'visible');

标签: jquery html twitter-bootstrap responsive-design carousel


【解决方案1】:

带有display:none 的元素会从显示的 DOM 中完全移除,因此您无法对它们执行多次测量。尝试将它们从 display:none 更改为 visibility:hidden,这样它们仍然会占用空间。

【讨论】:

    【解决方案2】:

    试试

    $(item).find('.carousel-caption:hidden')[0].scrollHeight
    

    【讨论】:

      猜你喜欢
      • 2012-12-16
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 2014-09-18
      • 2015-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多