在$.animate()
上使用jQuery的display:table
时,未指定要更改的空间维度将设置动画。
在这种情况下,width
已指定,但height
未指定,height
会跳转。在这种情况下,display:table
height
如何防止视觉变化?
HTML
<div style="display:table; height:40px;">
<div style="display:table-row">
<div class="cell">
Short text
</div>
<div class="cell cellToAnimate">
Really long text
</div>
<div class="cell cellToAnimate">
Really, really, really long text
</div>
</div>
</div>
<div>
<button type="button" id="cellChanger">Change cells</button>
CSS
.cell{
display:table-cell;
}
JS
$(document).ready(function(){
$('.cellToAnimate').hide();
$("#cellChanger").click(function(){
$('.cellToAnimate').stop(true,false).animate({
width: 'toggle',
opacity: 'toggle'
});
});
});
答案 0 :(得分:2)
使用
设置容器样式display: block;
height: 40px;
overflow: hidden;