2012-04-05 75 views
0

我试图迫使一个div有根据他的内容有一定的高度,改变它,只有当新的内容被加载。CSS维持div的高度变化的内容时动态

比方说我:

<div id="wrapper" style="width: 90%; margin: 0 auto;"> 
<div id="collapse_saving_div" style="min-height: 100%;"> 
    <div id="my_content" style="width: 100%;"> 
    Content 
    Content 
    Content 
    </div> 
</div> 
    <div id="my_bottom_content" style="clear: both;"> 
    </div> 
</div> 

我要去内容动态地加载到#my_content与脚本:

隐藏#my_content

显示loader.gif

内容获取

隐藏GIF

淡入#my_content

的事情是,每当明显得到#my_content隐藏#my_content_bottom过来,然后立即下降了新的内容被褪,没有任何形式的动画和所有的后这种“分区跳跃”很糟糕。

这将大致解决这个问题,如果我可以使包装DIV不会崩溃。

为了做到这一点,我试着制作#collapse_saving_div并给它一个100%的最小高度,我想这样做会在#my_content的位置修正他的高度,直到更大或更小的东西被加载。 但它不起作用。

有什么建议吗?由于

编辑: 使用

var content_height = $('#main_content').height(); 
     $('#main_content').hide(); 
     $('.loader').height(content_height); 
     $('.loader').show(); 

回答

2

去除div的内容与之前的js解决了这个问题,补充一点:(原JS,因为我不这样做的jQuery)

elem.style.height = elem.offsetHeight+"px"; 

然后,内容加载后,当您要新的高度生效时:

elem.style.height = "auto"; 
+0

谢谢! 我想我的解决方案是一样的你。将接受答案,后来尝试,如果它的工作原理。 – g0dl3ss 2012-04-05 21:09:52