日期:2014-05-17  浏览次数:20893 次

Div自动伸缩 及 滚动条的问题.
1、有个Div初始高度为300,根据里面内容的增加自动撑高,当高度为600时出来滚动条,

2、当内容减少时滚动条消失,高度自动变小。

现在第二步做不到,内容减少时高度不变。

请教各位该怎么实现?



------解决方案--------------------
很好,提问时把背景先说出来,让人知道是什么情形,才能想出更好方式,或者即便只是实现你开始的需求,也会觉得这个需求有道理,不是错误的产物。

我误会了,以为是根据后台AJAX提取数据到前台显示时根据内容自动调整高度。这样的话,其实实现很容易,但用户体验并不好,因为整个布局忽高忽低,其它相邻版块也会发生移动,看着就不舒服 了。

你说了备注增加,DIV加高,直到滚动。那么减少的情况,就是把DIV里的备注删除时的需求吧。这个通过JS一定能够实现的。不过最好把HTML,CSS和现在的JS都粘出来,因为不知道你前面具体的实现方式(比如一条条添加,是什么具体情形等等),就没法说后面用什么具体方式去解决。
------解决方案--------------------
JScript code
<SCRIPT LANGUAGE="JavaScript">
    function aaa(){
        var _height=document.getElementById('ccc').offsetHeight;
        if(_height>300 && _height<800){
            document.getElementById('bbb').style.height=_height;
        }else if(_height>800){
            document.getElementById('bbb').style.height=800;
            document.getElementById('bbb').style.overflow='auto';
        }
    }
</SCRIPT>
 <BODY onload="aaa();">
  <div id="bbb" style="width:300px;height:300px;border:1px solid #000;overflow:hidden">
    <div id="ccc">
        sagjasdg asdg<br/>sagjasdg asdg<br/>sagjasdg asdg<br/>sagjasdg asdg<br/>sagjasdg asdg<br/>sagjasdg asdg<br/>sagjasdg asdg<br/>
    </div>
  </div>
 </BODY>