我有一个代表Tab结构的表 有些单元格设置为display:none;并且仅显示活动选项卡。 我想为所有这些设置max-height。 为此,我浏览了一系列标签并执行以下操作
// get the max-tab-height
for (var i = 0; i < TabPageList.length; i++)
{
// get max height
if (TabPageList[i].offsetHeight>MaxTabHeight)
MaxTabHeight = TabPageList[i].offsetHeight;
}
此方法的问题是offsetHeight仅适用于显示的活动选项卡。 那么,什么是未显示的高度,什么时候会显示出来?
答案 0 :(得分:2)
由于非活动选项卡设置为display:none
,因此offsetHeight无效。在激活选项卡后,尝试运行MaxTabHeight例程。我假设这是在标签的点击事件中。
答案 1 :(得分:2)
尝试使用visibility:hidden(不显示:none)。我记得,使用可见性元素只是隐藏但保持其尺寸。
答案 2 :(得分:2)
为了便于使用,不应将选项卡设置为使用CSS隐藏。 (仍有一小部分人禁用了js)。如果您浏览标签,读取它们的高度,同时隐藏它们,您可以轻松找到最高的标签。同时使您的网站更加用户友好(:
如果您不希望隐藏的单元格崩溃,您也可以像上面所述使用visibility:hidden;
。
答案 3 :(得分:1)
正如其他人所说,你可以通过将可见性设置为隐藏来获得高度(这使得对象在隐藏时保持其尺寸):
visibility:hidden;
使用额外的技巧将其位置设置为绝对值以避免占用页面空间(您可以在达到高度所需的时间内执行此操作,然后恢复其位置属性)。
第二种方法可能是保持标签可见,但通过将其绝对位置设置为足够大的坐标将其移出页面。