0

我在我的响应式网站上使用 twitter bootstrap。我有一个图像轮播,每个图像上都有一些文字。我正在检测是否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 的那个。

4

2 回答 2

1

元素display:none完全从显示的 DOM 中删除,因此您不能对它们执行很多测量。尝试将它们从display:none改为visibility:hidden改为,这样它们仍然会占用空间。

于 2013-02-22T18:57:31.587 回答
0

尝试

$(item).find('.carousel-caption:hidden')[0].scrollHeight
于 2013-02-22T16:29:42.750 回答