要实现一个功能,根据页面显示的大小,控制div的大小,页面结构比较复杂,使用百分比的高度无效,所以要用js动态控制高度,而当页面拉大或拉小时又不能适应了,问,如果页面大小改变时能触发事件的话,就可以在事件中改变div的大小,有这样的事件吗?

解决方案 »

  1.   

    参考:JS获取网页高度及屏幕分辨率高度让DIV层始终在页面最底部实现的功能:当页面里内容的高度没有让页面出现滚动条时,页面当前页面的最底部显示。当出现滚动条后,DIV层会自动向下跟随,在页面的最底部显示。更改TABLE的高度就可以看到DIV层始终在页面最底部
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>JS获取网页高度及屏幕分辨率高度让DIV层始终在页面最底部</title>
    </head><body leftmargin="0" topmargin="0"><table width="100%" height="405" bgcolor="#eeeeee">
        <tr>
            <td>
            aaa
            </td>
        </tr>
    </table>
    <div id="t1"  style="position:absolute;border:double;">
    aaaaaaa
    </div>
    <script language="javascript">...
    //document.all.t1.style.top = document.body.clientHeight;
        var h1 = window.screen.availHeight-165;
        if (document.body.clientHeight<h1)
          document.all.t1.style.top = window.screen.availHeight-165;
        document.write ("当前窗口宽:"+document.body.offsetWidth+"; 高:"+document.body.clientHeight+"aaaa"+(window.screen.availHeight)); 
    </script>
    </body>
    </html>
      

  2.   

    //页面结构比较复杂,使用百分比的高度无效
    使用CSS解决比较合适啊,用JS也可以但通常不这样,毕竟JS的兼容性比CSS要差很多不清楚是否有这样的事件,不过使用JS的话可以参考定时执行JS函数
    关键字:setInterval
      

  3.   

    感谢楼上的各位,一直尝试用css实现,始终找不到办法,功能是这样的,顶部有个div是固定高度,宽度是100%,然后下面是个div,这个div要hidden:auto,页面的滚动条是禁用了的,顶部的div是一些按钮的东西,功能性的操作。下面那个div是显示数据的。而下面的div必须设置高度才能使hidden:auto有效,所以要根据页面高度,不同分辨率和不同的窗口大小改变这个div的高度,我做的用js只有第一次打开时可以动态设置高度,但是当用户最大化窗口或者拉动窗口大小时就会有问题了。所以想到,如果窗口大小改变有事件会触发的话,就有办法实现了。
      

  4.   

    在body的onresize事件中写js控制。
      

  5.   

    感谢各位,特别感谢 chokobo,要的就是这个事件,哈哈,结贴
      

  6.   

    在body里写了onresize,但是在ie6中document.body.clientHeight的值始终不变
    还是不行