我用于隐藏/取消隐藏div的技术如下:
$("#" + sectionId).css("display", ""); // unhide
$("#" + sectionId).css("display", "none"); // hide这很好,但我需要使隐藏/取消隐藏不影响页面其余部分的尺寸。也就是说,我不希望隐藏内容的行为收缩它周围的所有内容。换句话说,如果div总是可见的话,我更希望页面上的所有维度保持不变。我试过将div设置为零高度,但这似乎没有效果。
注意:这些div实际上驻留在一个表中,因此单元格会自动调整大小以适应内容(我不希望如此)。
更新:好的,问题已经解决了一半,但请注意,这是一个表,而不是一个div,我正在试图隐藏/取消隐藏。我需要桌子的高度缩小到零,但要保持它的宽度。
发布于 2011-03-22 20:26:43
改用visibility='hidden'和visibility='visible':
$("#" + sectionId).css("visibility", "visible"); // unhide
$("#" + sectionId).css("visibility", "hidden"); // hide这将使该对象在物理上保持在页面中,但它将是“不可见的”,而不是使用display的“删除”。
更多信息。
编辑
至于新的/已修订的问题:
好的,问题已经解决了一半,但请注意,这是一个表,而不是一个div,我正在试图隐藏/取消隐藏。我需要桌子的高度缩小到零,但要保持它的宽度。
将表宽度设置为固定值,并使用display属性隐藏具有内容的div:
<table style="width: 500px;">
<tr><td>
<div id='div1'>Some content</div>
</td></tr>
</table>当您现在使用您在问题中使用的代码隐藏div1时,表的宽度应该保持相同的宽度,但在高度上缩小。
EDIT2:一个简单的例子.
发布于 2011-03-22 20:26:20
我相信你是在寻找CSS visibility属性。visibility.asp
发布于 2011-03-22 20:27:37
尝试设置可见性:
//hide
$('#element').css('visibility', 'hidden');
//show
$('#element').css('visibility', 'visible');https://stackoverflow.com/questions/5397392
复制相似问题