我有一个JQuery函数可以切换布局中的一个div。问题是当div出现或消失时,整个布局在屏幕上移动。有没有办法在不改变布局的情况下实现相同的显示/隐藏效果?
<script>
$(document).ready(function(){
$("button").click(function () {
$("#layoutDiv").toggle();
});
});
</script>
答案 0 :(得分:9)
您可以将该div包装在另一个div中,该div保持适当的宽度/高度以保持布局一致。
<div style="width:300px;height:200px">
<div class="animateMe">
<p>When I close, the outer div will still be there.</p>
</div>
</div>
如果您事先不知道高度/宽度,可以在页面加载时使用javascript以编程方式设置它。只需获取可折叠div的.width()和.height()值,并将它们应用到外部div的css。
答案 1 :(得分:4)
尝试编写一个使用visibility:hidden而不是display:none的新函数。这将保持CSS框(和布局)而不显示div。
答案 2 :(得分:0)
Jonathan Sampson的回答是可行的 - 或者不知道你在做什么(标记和所需的效果)我将使用具有高z-index的绝对定位,这将使其脱离文档流程。这是模态窗口/灯箱通常使用的。这是一个tutorial。