我试图显示一个信息列表,并且它正常工作,但是当我隐藏包含列表的div然后再次显示它时,元素的宽度为" width:auto& #34;样式正在调整尺寸,新尺寸太小:
隐藏之前:
隐藏后:
我生成元素的php看起来像这样:
<div displayitem='true'>
<table>
<?php
foreach($aExistingChangeDetailsData['customers'] as $aCustomer){
?><tr><td><li style='width:auto;'><?php echo $aCustomer['sCustomerName']; ?></li></td></tr><?php
}
?>
</table>
</div>
我的jquery就是:
function expandSection() {
$("div.cd-content").show("slow");
}
function collapseSection() {
$("div.cd-content").hide("slow");
}
我猜这个问题是由于幻灯片动画的重新调整大小,是否有任何简单的方法来保持宽度的宽度:隐藏后的自动元素,以便将它们恢复到合适的大小? / p>
编辑: 对于每个元素,似乎正在将宽度减少5个。
答案 0 :(得分:3)
尝试分别使用fadeIn
和fadeOut
代替show
和hide
,因为hide()
会将元素的宽度更改为零,但是{{1} }更改属性fadeOut()
并且不会opacity
答案 1 :(得分:1)
您的内联宽度:自动样式仅在首次渲染时设置一次,您也可以在事件触发后设置:
function expandSection() {
$("div.cd-content").show("slow").css("width", "auto");
}
function collapseSection() {
$("div.cd-content").hide("slow");
}